Уникальный вместе с чем-то связанным по внешнему ключу

class ExamSectionMixin(models.Model):
    exam_section = models.ForeignKey('fipi_exam_sections.ExamSection',
                                     blank=True,
                                     null=True,
                                     on_delete=models.CASCADE,
                                     )

    class Meta:
        abstract = True

class PriorityMixin(models.Model):
    priority = models.PositiveIntegerField(blank=False,
                                           default=0,
                                           null=False,
                                           db_index=True)

class NameMixin(models.Model):
    name = models.CharField(max_length=255,
                            null=False,
                            default="")

    def __str__(self):
        return self.name

    class Meta:
        abstract = True



class TaskDescription(NameMixin,
                      PriorityMixin,
                      ExamSectionMixin):

    class Meta:

        constraints = [
            models.UniqueConstraint(fields=['exam_section__exam_part', 'name', ],
                                    name='exam_section-name'),
            models.UniqueConstraint(fields=['exam_section__exam_part', 'priority', ],
                                    name='exam_section-priority')
        ]

Этот код взрывается при миграции. То есть makemigrations выполняется. Но не migrate.

fipi_task_descriptions.TaskDescription: (models.E012) 'constraints' refers to the nonexistent field 'exam_section__exam_part'.

Подскажите, возможно ли организовать уникальное сочетание экзаменационной_части и имени и экзаменационной_части и приоритета соответственно?

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