2016-01-26 13 views
5

Quando definisco un modello e utilizzo unique_together in Meta, posso definire più di una tupla. Questi saranno ORed o AND? Questo è Diciamo che ho un modello in cuiTuple multiple in 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')) 

sia sia drogato e once sono unici o entrambi ubriachi e quarti sono unici, ma non entrambi.

risposta

3

Ogni tupla risulta in una clausola discreta UNIQUE aggiunta alla query CREATE TABLE. In quanto tale, ciascuna tupla è indipendente e un inserimento fallirà se viene violato qualsiasi vincolo di integrità dei dati.