unique_together中的多个元组

时间:2016-01-26 21:10:03

标签: python django django-models

当我在Meta中定义模型并使用unique_together时,我可以定义多个元组。这些是ORed还是ANDed?那就是说我有一个模型

class MyModel(models.Model):
    druggie = ForeignKey('druggie', null=True)
    drunk = ForeignKey('drunk', null=True)
    quarts = IntegerField(null=True)
    ounces = IntegerField(null=True)

    class Meta:
        unique_together = (('drunk', 'quarts'),
                           ('druggie', 'ounces'))

药物和盎司都是独一无二的,或者醉酒和夸脱都是独一无二的,但不是两者兼而有之。

1 个答案:

答案 0 :(得分:12)

每个元组都会在UNIQUE查询中添加一个离散的CREATE TABLE子句。因此,每个元组都是独立的,如果违反任何数据完整性约束,插入将失败。