Как установить уникальное ограничение для нескольких таблиц в 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'

Почему у нас нет доступа к полям связанных таблиц?
Какова альтернатива?

Вернуться на верх