Ошибка типа: объект UniqueConstraint не может быть повторен в Django - PullRequest
1 голос
/ 20 апреля 2020

Когда я задаю несколько уникальных полей с помощью UniqueConstraint:

class Meta:
    constraints = (models.UniqueConstraint(fields=['student', 'classroom', 'code'], name='student_classroom_code'))

и запускаю python manage.py makemigrations Поднимите эту ошибку:

TypeError: 'UniqueConstraint' object is not iterable

Что с этим не так?

Ответы [ 2 ]

2 голосов
/ 20 апреля 2020

Вам необходимо присвоить итерируемое ограничениям. Вы пропускаете , в (models.UniqueConstraint(...),), что означает, что вы присваиваете models.UniqueConstraint экземпляр вместо кортежа.

class Meta:
    constraints = (models.UniqueConstraint(fields=['student', 'classroom', 'code'], name='student_classroom_code'),)
1 голос
/ 20 апреля 2020

Ошибка просто означает, что она не повторяется. Попробуйте определить это так:

Например

class Meta:
    constraints = [models.UniqueConstraint(fields['app_uuid', 'version_code'], name='unique appversion')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...