Django不更新postgresql数据库
我最近把我的Django项目从SQL Lite数据库换成了Postgresql数据库。因为我刚开始没多久,所以没有进行迁移,就直接用一个干净的数据库。我按照这里的说明进行了操作 https://stackoverflow.com/a/5421511/3681278
一切进展顺利,通过PGAdmin III添加和更新的数据在管理界面上都能看到。当我尝试添加模型并运行同步数据库时,虽然没有报错,执行也看起来正常,但是数据库里的内容没有任何变化。
而且,通过模型进行的添加、修改、更新或删除数据库记录的操作也没有效果。
我到处寻找解决办法,但都没有找到。
这里有一个可能有用的线索:
当我更改模型名称或删除模型时,会询问我是否要删除旧模型。所以,模型应该是在某个地方生成了表,但再次强调,Postgresql数据库里没有任何变化。
这是我的settings.py文件:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'RED_DB',
'USER': 'postgres',
'PASSWORD': 'MyPass',
'HOST': ''
}
}
提前谢谢大家!
1 个回答
2
“Sync db”并不是一个可以在你修改了模型(迁移)后运行的命令,大多数开发者会使用一个叫做“south”的工具。这个工具是Django的一个可插拔应用,专门用来处理数据库的迁移。
补充:从Django 1.7开始,迁移功能已经被支持了,建议你查看一下官方文档:https://docs.djangoproject.com/en/dev/topics/migrations/。