这是代码:
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非常感谢谢谢!
在你的team
模型中这样做:
community = models.ForeignKey(community, on_delete=models.CASCADE, blank=True, null=True)
这是使其可以为空的正确方法。当您指定default=None
时,Django ORM不知道此字段是否可为空。 community_id
是team
模型中的字段,它(虽然语法隐含)用于在community
模型中通过外键引用team
模型,并且该字段设置为不可为空,因此如果未设置则生成IntegrityError。