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

问题描述 投票:0回答:1

这是代码:

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和空白设置为true以防止此错误,但是当我尝试迁移模型时,我仍然会抛出以下错误:

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

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

python django database model
1个回答
0
投票

在你的team模型中这样做:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.