【问题标题】:unknown column in field list django after syncdbsyncdb后字段列表django中的未知列
【发布时间】:2013-04-24 12:57:40
【问题描述】:

在 Django 应用上进行一些升级。

需要更新数据库。 在模型和数据库中添加了新功能。 已经运行了 syncDb,它运行良好。

但应用不允许新的更改.... 获取 - “字段列表中的未知列”。

已阅读有关南的信息,但我目前只是在应用程序上做一些工作,不想添加任何非原创的内容。

任何想法如何同步数据库和应用程序?

谢谢

【问题讨论】:

  • 如果您不想使用 south,请手动更改 db,或者如果您不需要当前数据并运行 syncdb,则可以删除 db 中的表
  • 如果你走重新创建数据库的路径,你可以用python manage.py dumpdata --indent=4 >> dump.json保存你的数据,然后用python manage.py loaddata dump.json重新填充数据库
  • 已经在模型和数据库中添加了字段。该字段有一个外键。但我仍然得到“字段列表中的未知列”!
  • 嗨。我现在正在尝试重新创建我的数据库,但是得到 -”表 'tabel' 中主键为 '6' 的行有一个无效的外键......但是数据库是空的。有什么想法吗?

标签: mysql django


【解决方案1】:

如果您已经在数据库中创建了表并且没有使用 south,则有两种选择。第一个是删除表并使用 syncdb 重新创建它们,第二个是手动更改架构(这可能会很难而且很难看)。

至于南方……不要把它当成你可能不需要的一些不稳定的第三方应用。即使它有一些限制,它也是一个非常有用的工具,你只会从使用它的形式中受益,所以不要担心,继续使用它。

【讨论】:

  • 如果使用 South,我是否必须更改脚本服务器或数据库上的任何内容?或者只是在我的电脑上需要南方。因为如果它只是在我的电脑上,我可以使用它。
  • 备份您的模型文件。以与数据库中的结构匹配的状态返回它们,然后关注south.aeracode.org/wiki/ConvertingAnApp 一旦您的应用程序转换为南应用您的模型更改并运行架构迁移和迁移。
猜你喜欢
  • 1970-01-01
  • 2020-01-23
  • 1970-01-01
  • 1970-01-01
  • 2018-03-12
  • 2013-12-10
  • 2011-04-16
  • 2016-04-05
  • 1970-01-01
相关资源
最近更新 更多