Как установить уникальное ограничение для нескольких таблиц в django?
У нас есть две модели, они находятся в отношениях Один к одному:
class A(models.Model):
first_field_A = ...
second_field_A = ...
class B(models.Model):
first_field_B = ...
a = models.OneToOneField(A, on_delete=models.CASCADE)
Мне нужно определить уникальное ограничение для first_field_A и second_field_A модели A и first_field_B модели B.
Возможно ли это вообще?
Я пробовал следующее:
class A(models.Model):
...
class Meta:
constraints = [UniqueConstraint(name='unique_constraint',
fields=['first_field_A', 'second_field_A', 'b__first_field_B']
)
]
и я получил эту ошибку:
django.core.exceptions.FieldDoesNotExist: A has no field named 'b__first_field_B'
Почему у нас нет доступа к полям связанных таблиц?
Какова альтернатива?