【问题标题】:Django: ForeignKey set to default null (author_id)=(0) errorDjango:ForeignKey 设置为默认 null (author_id)=(0) 错误
【发布时间】:2017-07-17 14:29:07
【问题描述】:

我正在使用 Django 1.11.1 和 python3。无法将 author 字段设置为默认空值。有什么问题?

author = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+', null=True, blank=True, db_constraint=False)

错误:

DETAIL:  Key (author_id)=(0) is not present in table "auth_user"

【问题讨论】:

  • 添加这个新字段后,您是否运行过makemigrationsmigrate
  • 是的,当然。
  • 看起来可能有一行 author_id 字段设置为 0,并且没有 id 为 0 的 auth_user。登录到您的数据库并查询您拥有的表 @ 987654327@ 看看是否有任何行的值设置为 0。
  • 来吧,伙计。每个人都知道auth_user 中没有id=0。问题是如何在不引用现有对象的情况下添加新模型。
  • 我创建了一个模型,其中包含您在问题中给出的确切 args 和 kwargs,并且我能够在没有用户的情况下创建新记录。一定有其他原因导致此问题不在此问题中。

标签: python django django-models


【解决方案1】:

修复:再次删除所有关于author 字段和migrate 的迁移文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 1970-01-01
    • 2019-05-15
    • 2013-04-28
    • 2019-07-04
    • 1970-01-01
    相关资源
    最近更新 更多