【发布时间】:2017-08-26 15:11:18
【问题描述】:
我使用的是 Mezzanine (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。
请帮忙。谢谢!
【问题讨论】:
标签: django migration models mezzanine makemigrations