我对我的模型进行了更改,我不能为我的生活弄清楚如何让我的数据库反映我的模型。到目前为止,我尝试了以下内容:
python manage.py shelldb
SELECT * FROM sqlite_master WHERE type='table';
DROP TABLE appname_modelname;
当我尝试时,我得到了:“未知命令:shelldb”。
我也尝试过:
python manage.py dbshell DROP TABLE accounts_userreview;
没有错误,但我的数据库仍然没有反映我的模型。
最后,我只是通过将数据库拖入垃圾桶然后执行syncdb来删除我的数据库,然后让我创建一个新的超级用户,但是STILL创建的数据库并不反映我的模型的更改。
我在这里不知所措,我还能在这做什么?另外,我是学习Django的新手,模型和我的数据库之间是否有某种层?我认为自从删除然后重建数据库不起作用。
非常感谢这里的任何建议。
答案 0 :(得分:2)
如果你在Django< 1.7,你必须使用一些迁移工具,即 - South。 Django 1.7具有内置迁移功能。
了解更多信息migrations
答案 1 :(得分:1)
在终端中运行这些命令以进行Django 1.7的迁移 python manage.py makemigrations python manage.py syncdb
对于Django< 1.7 使用南