0

我正在使用夹层(Django 1.10)所以我看不到“ db.sqlite3

我搜索了与我类似的问题,并且提供的大多数解决方案都无效。

我创建了一个新模型,后来决定添加一个新字段。我做了“python manage.py makemigrations”,当我查看我的迁移文件夹时,它就在那里;新字段存在。现在,当我运行应用程序并查看管理员时,它给了我一个错误,它说“不存在这样的列”。因此,我认为,我的数据库没有与我拥有的迁移同步。

这就是我所做的: 1. 删除迁移文件夹中的所有内容并重新创建“ init .py”。

1.1跑了“ python manage.py makemigrations <app_name>

1.2 跑了“ python manage.py migrate <app_name>

1.3 跑了“ python manage.py runserver

我实际上可以将我的模型重命名为具有相同字段的不同名称,但是,有时 Django 会给出错误,例如“不存在这样的表”。这样做也很乏味,因为如果我重命名我的模型,我必须在我导入模型的每个文件中重命名它,例如 admin.py、forms.py、views.py 等。

我听说过 South,但它不适用于 Django 1.10。

请帮忙。谢谢!

4

1 回答 1

0

我刚刚解决了这个问题。由于我使用的是 Mezzanine,所以数据库的名称不一样。查找dev.db将位于您的manage.py. 然后,删除它。然后,一次python manage.py makemigrations又一次地运行python manage.py migrate。然后(我希望)它会起作用。

于 2017-04-01T13:23:41.417 回答