Django:模型UniqueConstraint迁移时出现错误

时间:2020-01-16 07:54:34

标签: python django django-models unique-constraint

在我的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 migration时,它出现以下错误:

django.core.exceptions.FieldError:联接的字段引用不是 此查询允许

仅当状态为1以及其他3个字段组合时,我才需要具有唯一记录。我究竟做错了什么?如何解决此错误?

0 个答案:

没有答案