В моем проекте Django в одной из моделей мне нужно использовать два экземпляра UniqueConstraint. Но когда я добавляю это и выполняю миграцию после запуска makemigrations, он выдает ошибку в терминале.
Класс модели:
class MyDays(models.Model):
class Meta:
verbose_name = "My Day"
verbose_name_plural = "My Days"
constraints = [
models.UniqueConstraint(fields=['userid', 'date', 'from'], condition=Q(status=1), name='user_date_from_a'),
models.UniqueConstraint(fields=['userid', 'date', 'to'], condition=Q(status=1), name='user_date_to_b')
]
id = models.BigAutoField(primary_key=True)
userid = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="User")
date = models.DateField(auto_now_add=False, editable=True, validators=[validate_date])
from = models.TimeField(auto_now_add=False, editable=True)
to = models.TimeField(auto_now_add=False, editable=True)
status = models.ForeignKey(Status, on_delete=models.CASCADE, verbose_name="Status", default=1)
Когда я запускаю python3 manage.py migrate, он выдает следующую ошибку:
django .core.exceptions.FieldError: Связанные ссылки на поля не разрешены в этом запросе
Мне нужны уникальные записи, только если статус равен 1 вместе с 3 другими комбинациями полей. Что я делаю неправильно? Как я могу исправить эту ошибку?