尝试在admin中保存对象但收到错误
Field' site_id'没有默认值
用户模型:
class User(AbstractUser):
address = models.CharField(max_length=128, blank=True)
site = models.ForeignKey(Site, related_name='users', default=1)
评论模型:
class Review(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='reviews')
title = models.CharField(max_length=128, verbose_name='Review Title')
text = models.TextField(verbose_name='Your Review')
管理员:
@register(Review)
class ReviewAdmin(admin.ModelAdmin):
pass
我用户Django == 1.6.11和MySQL == 5.7.14
答案 0 :(得分:1)
这将有很多原因,
1。尝试在该表的主键中添加自动增量。
2. 在您对该表的查询中,尝试使用您的ID启动查询,例如,如果您要创建表,请尝试使用您的主键启动。
Check this link it may also help you
在基于Django和MySQL的项目上出现以下错误: “警告:字段'id'没有默认值”
起初,似乎Django负有责任。但是,快速谷歌搜索证明这是MySQL的一个问题。
搜索返回的一些解决方案要求程序员/管理员导出并重新创建数据库,但事实证明解决方案更加简单。对于名为auth_user的表,以下MySQL命令修复了上述错误消息:
ALTER TABLE auth_user MODIFY `id` INT(11) NOT NULL AUTO_INCREMENT;
上面的命令将auth_user表的ID字段重置为长度为11的自动递增整数,修复错误消息。