繁体   English   中英

尽管将null设置为true并将blank设置为true,但Django中的NOT NULL约束失败错误

[英]NOT NULL constraint failed error in django despite having null set to true and blank set to true

这是代码:

class community(models.Model):
    communityName = models.CharField(max_length=280)
    communityID = models.BigIntegerField(null=True,blank=True)
    icon = models.CharField(max_length=400)

    def __str__(self):
        return self.communityName

class team(models.Model):
    date = models.DateField()
    startTime = models.TimeField()
    teamName = models.CharField(max_length=280)
    community = models.ForeignKey(community, on_delete=models.CASCADE, default=None)

我已经做了大量的阅读,为了防止此错误,应该将null和blank设置为true是有意义的,但是当我尝试迁移模型时,仍然会引发以下错误:

django.db.utils.IntegrityError: NOT NULL constraint failed: scheduler_team.community_id

我对数据库管理一无所知,这是我尝试做的第一个涉及数据库的项目,因此非常感谢ELI5!

在您的team模型中使其如下所示:

community = models.ForeignKey(community, on_delete=models.CASCADE,  blank=True, null=True)

这是使其可为空的正确方法。 当您指定default=None ,Django ORM不知道此字段是否可为空。 community_idteam模型中的字段,并且(虽然在语法上是隐式的)用于通过team模型中的外键引用community模型,并且该字段设置为不可为空,因此如果未设置,则生成IntegrityError

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM