【发布时间】:2018-09-23 19:30:01
【问题描述】:
关于这个主题已经有很多问题了,但不是我要搜索的。
我有这个Model:
class Options(TimeStampedModel)
option_1 = models.CharField(max_length=64)
option_2 = models.CharField(max_length=64)
class Meta:
unique_together = ('option_1', 'option_2')
现在我对字段有一个独特的约束。
有没有办法反过来定义它,这样option_1 和option_2 是什么并不重要
例如:
Options.create('spam', 'eggs') # Allowed
Options.create('spam', 'eggs') # Not allowed
Options.create('eggs', 'spam') # Is allowed but should not be
提前致谢!
【问题讨论】:
-
这似乎是一件奇怪的事情,你的具体用例是什么?
-
它们是选项..选项不应该一起出现超过一次,左或右
-
我觉得更好的解决方案可能是多对多关系并制作一个 Option 模型。
-
你可以通过对数据库的 CHECK 约束来做到这一点,但是你会想要更多的选项,而且会很混乱......@etene 的解决方案在这里更合适
标签: python django django-models unique-constraint