Django处理组合独特(与OR组合)

时间:2014-03-17 18:39:15

标签: django model unique

你好,我有一些模特:

class Foobar(models.Model):
   user = models.ForeignKey(User)
   item_a = models.ForeignKey(A, null=True)
   item_b = models.ForeignKey(B, null=True)

   class Meta:
       unique_together = ('user', 'item_a') or unique_together = ('user', 'item_b')

有什么可以做的吗? 谢谢!

干杯

1 个答案:

答案 0 :(得分:0)

您可以使用元组指定多个unique together字段集。请参阅Django documentation for unique_together meta option

class Foobar(models.Model):
   user = models.ForeignKey(User)
   item_a = models.ForeignKey(A, null=True)
   item_b = models.ForeignKey(B, null=True)

   class Meta:
       unique_together = (('user', 'item_a'), ('user', 'item_b'))