Mysql Django admin on Save字段不';没有默认值

Mysql Django admin on Save字段不';没有默认值,mysql,django,Mysql,Django,尝试在admin中保存对象,但出现错误 字段“site\u 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 = mod

尝试在admin中保存对象,但出现错误

字段“site\u 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

i用户Django==1.6.11和MySQL==5.7.14

原因很多

1。尝试在该表的主键中添加自动增量

2.在该表的查询中,尝试使用您的id开始查询,例如,如果您正在创建表,请尝试使用主键开始查询

在Django和MySQL上构建的项目上出现以下错误: “警告:字段“id”没有默认值”

起初,看起来Django应该对此负责。然而,谷歌的快速搜索证明了这是MySQL的一个问题

搜索返回的一些解决方案需要程序员/管理员导出并重新创建数据库,但事实证明该解决方案简单得多。对于名为auth_user的表,以下MySQL命令修复了上述错误消息:

ALTER TABLE auth_user MODIFY `id` INT(11) NOT NULL AUTO_INCREMENT;

上面的命令将auth_user表的ID字段重置为长度为11的自动递增整数,从而永久修复错误消息。

能否显示对该表的查询。