2016-01-26 17 views
5

Kiedy definiuję model i używam unique_together w Meta, mogę zdefiniować więcej niż jedną krotkę. Czy to będzie ORed czy Oed? Że jest powiedzmy mam model, w którymWiele krotek w unique_together

 
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')) 

albo zarówno narkoman i uncje są unikalne lub oba pijany i kwarty są wyjątkowe, ale nie jednocześnie.

Odpowiedz

3

Każda krotka powoduje, że do zapytania dodawane jest dyskretne klauzula UNIQUE. W związku z tym każda krotka jest niezależna, a wstawka nie powiedzie się, jeśli naruszone zostanie integralność integralności danych.