【问题标题】:Syncdb not working - django cache issueSyncdb 不工作 - django 缓存问题
【发布时间】:2015-10-18 11:46:41
【问题描述】:

我已经从我的 postgres 数据库中删除了所有表。现在,在运行时

python manage.py syncdb

我收到 xyz 表中不存在 abc 字段的错误消息。 这可能是某种 django 缓存问题。错误是这种格式:

django.db.utils.ProgrammingError: relation "mmb_data_genre" does not exist
LINE 1: ...b_data_genre"."id", "mmb_data_genre"."genre" FROM "mmb_data_...

有什么建议可以解决这个问题吗?

注意 - 我使用的是 django 1.8.2 和

python manage.py makemigratons

python manage.py runserver

抛出同样的错误。

【问题讨论】:

  • 这可能是由于迁移,在同步数据库之前,您只需删除应用内的所有迁移文件夹。
  • 我已经从应用程序中删除了迁移文件夹
  • 尝试删除django_migrations表中的所有迁移然后运行python manage.py makemigrations
  • 我已经删除了我的整个数据库,其中也包括这个表。
  • 尝试删除项目中的所有 .pyc 文件。

标签: django postgresql django-syncdb


【解决方案1】:

django 1.8 中的syncdb 只是 migrate 命令的别名,但有创建超级用户的额外步骤。

1.7 版后已弃用:此命令已在 喜欢 migrate 命令,它执行旧的行为 以及执行迁移。

但是 syncdb (migrate) 应该只在你完成 makemigrations [app_label] 之后执行,但在你的情况下你似乎有相反的顺序。

试试

./manage.py makemigrations
./manage.py migrate

【讨论】:

  • 运行 ./manage.py makemigrations 也会抛出同样的错误
  • 如果这是一个新数据库,请清除它并清除迁移文件夹并尝试这两个步骤。
猜你喜欢
  • 2015-07-31
  • 2011-02-13
  • 1970-01-01
  • 2015-06-19
  • 2014-04-11
  • 2011-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多