Несколько кортежей в 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
запрос. Таким образом, каждый кортеж является независимым, и вставка завершится ошибкой, если будет нарушено какое-либо ограничение целостности данных.