python - Django 1054 - 字段列表中的未知列

标签 python mysql django database data-migration

我有一个 Django 项目,我做了以下事情:

  1. 添加了一个包含一些列的表格
  2. 往数据库中插入一些记录
  3. 添加了一个我没有意识到自己需要的新专栏
  4. 更新以填充该列

当我执行 migrate 时,一切正常。在表上创建了新的 db 列并填充了值。

然而,当我尝试运行我的测试时,我现在在上面的第 2 步失败了。当我插入时,我相信它期望那个字段在那里,即使它在那个时候还没有被创建。

我该怎么办?

编辑:更多信息

我首先创建了一个类,A 类并进行了迁移以创建表。然后我对我的数据库运行了这个。然后我编写了一个手动迁移来填充一些我知道会在那里的数据。我对数据库运行了这个。一段时间后我意识到我需要在模型上添加一个额外的字段。我添加了该字段并进行了迁移并针对数据库运行了它。一切正常,我确认新列在数据库中。

现在,我去运行我的测试。它试图创建测试数据库并被炸毁,在它试图运行我编写的填充数据脚本时说“1054 - 未知列 [我添加到现有表的新列]”。它可能会查看表格,注意到模型中存在第三个字段,但数据库中还没有,但我不知道如何做得更好。

最佳答案

除非新列定义了默认值,否则插入语句将向该列添加数据。您能否将数据加载移动到第二次迁移之后。 (我会发表评论,但还没有足够的声誉。)

关于python - Django 1054 - 字段列表中的未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27403050/

相关文章:

PHP/MYSQL 使用盐密码验证用户登录?

mysql - Navicat MySQL 中的 NTILE 函数错误

django - Django 中的层次结构树导航

python - 创建 AWS Elasticsearch 索引时出现 404 HEAD 问题

python - 在 Python 2.3 中按项目频率对列表列表进行排序

mysql - 仅在表中创建新行

Django Order_by 空白

python - 我不明白这个 Django 文档。我该如何使用这个模块?

python - 端点 URL : https://sns. us-west-1.amazonaws.com 上的连接超时

python - geojsonio 中的 display() 给出 401 错误