Несколько кортежей в unique_together

Когда я определяю модель и использую unique_together в Meta, я могу определить более одного кортежа. Это будет ORed или ANDed? То есть, скажем, у меня есть модель, где

Класс MyModel(models.Model):
    druggie = ForeignKey('druggie', null=True)
    drunk = ForeignKey('drunk', null=True)
    quarts = IntegerField(null=True)
    унции = IntegerField (null = True)

    Мета класса:
        unique_together = (("пьяный", "четверка"),
                           ("наркоман", "унции")

либо наркотик и унция уникальны, либо пьяны, а четверки уникальны, но не оба.

1 ответ

Решение

Каждый кортеж приводит к дискретному UNIQUE пункт добавляется к CREATE TABLE запрос. Таким образом, каждый кортеж является независимым, и вставка завершится ошибкой, если будет нарушено какое-либо ограничение целостности данных.

Другие вопросы по тегам