包含 null-True 的模型字段上的 django 不可为空错误
django not nullable error on model field containing null-True
所以我有一个用户可以 post 对效果发表评论,我正在链接我的模型,无论我尝试了什么,我总是收到不可为空的错误。每个人都说它需要有 null=True。它不工作大声笑。我在这里没有看到什么?
这是官方错误:
django.db.utils.IntegrityError: NOT NULL constraint failed: effect_modules_comment__new.author_id
还有我的模特:
class Effect_module(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=255)
description = models.TextField()
html = models.TextField(default='')
css = models.TextField(default='')
js = models.TextField(default='')
up_votes = models.IntegerField()
down_votes = models.IntegerField()
effect_author = models.ManyToManyField('UserProfile')
class UserProfile(models.Model):
user = models.OneToOneField(User)
effects = models.ManyToManyField(Effect_module)
class Comment(models.Model):
comment_author = models.ForeignKey(User, null=True)
comment = models.TextField(default='No Comment Here')
effect_object = models.ForeignKey(Effect_module)
删除所有迁移脚本。添加null=True
表示在数据库中可以为NULL,blank=True
表示在表单中可以留空
然后
python manage.py makemigrations
python manage.py migrate
所以我有一个用户可以 post 对效果发表评论,我正在链接我的模型,无论我尝试了什么,我总是收到不可为空的错误。每个人都说它需要有 null=True。它不工作大声笑。我在这里没有看到什么?
这是官方错误:
django.db.utils.IntegrityError: NOT NULL constraint failed: effect_modules_comment__new.author_id
还有我的模特:
class Effect_module(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=255)
description = models.TextField()
html = models.TextField(default='')
css = models.TextField(default='')
js = models.TextField(default='')
up_votes = models.IntegerField()
down_votes = models.IntegerField()
effect_author = models.ManyToManyField('UserProfile')
class UserProfile(models.Model):
user = models.OneToOneField(User)
effects = models.ManyToManyField(Effect_module)
class Comment(models.Model):
comment_author = models.ForeignKey(User, null=True)
comment = models.TextField(default='No Comment Here')
effect_object = models.ForeignKey(Effect_module)
删除所有迁移脚本。添加null=True
表示在数据库中可以为NULL,blank=True
表示在表单中可以留空
然后
python manage.py makemigrations
python manage.py migrate