代码如下:
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是有意义的,但是当我尝试迁移模型时,仍然会引发以下错误: / p>
django.db.utils.IntegrityError: NOT NULL constraint failed: scheduler_team.community_id
我对数据库管理一无所知,这是我尝试做的第一个涉及数据库的项目,非常感谢ELI5!
答案 0 :(得分:0)
在您的team
模型中像这样:
community = models.ForeignKey(community, on_delete=models.CASCADE, blank=True, null=True)
这是使其可为空的正确方法。
当您指定default=None
时,Django ORM不知道此字段是否可为空。
community_id
是team
模型中的字段,(尽管在语法上是隐式的)用于通过community
模型中的外键引用team
模型,并且该字段设置为不可为null,因此会生成 IntegrityError (如果未设置)。