【问题标题】:what is no such column: REFERRED.number?什么是没有这样的列:REFERRED.number?
【发布时间】:2017-10-01 22:36:30
【问题描述】:

我正在尝试加载一个夹具,它给了我:

django.db.utils.OperationalError: Problem installing fixtures: no such column: REFERRED.number

不幸的是,我无法显示 json,因为里面有各种私人的东西,但我希望有人可以向我解释 REFERRED 的含义。我在寻找什么样的错误?

我做了一些迁移,现在数据库已经不正常了。所以json稍微偏离了数据库。不过,有很多东西叫做数字。提到的声音是某种外键错误!?你能告诉我要寻找什么吗?

【问题讨论】:

  • 模型中的 REFERRED 类没有名为 number 的列。即使您有一个名为 number 的列。以及您正在为迁移运行什么命令

标签: django django-database django-fixtures


【解决方案1】:

我遇到了类似的问题,并通过在 django/db/backends/sqlite3/base.py#L297 中添加 print(query) 来了解 REFERRED 是什么。这向我展示了 django 对我的 sqlite3 数据库运行的所有查询。

在我的例子中,loaddata 没有找到我将 primary_key=True 设置为其中一个字段的模型的字段 id(django 中默认的主键字段)。尽管 django 没有自动生成 id 字段(正确的行为),loaddata 一直在寻找 id 字段。一个可能的解决方案是添加--natural-primary 选项,但这对我的ATM 不起作用。

参考:https://docs.djangoproject.com/en/1.11/topics/serialization/#topics-serialization-natural-keys

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-17
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 1970-01-01
    • 2013-04-25
    • 2015-07-30
    相关资源
    最近更新 更多