【发布时间】:2014-10-13 06:30:32
【问题描述】:
我对我的模型进行了更改,但我终其一生都无法弄清楚如何让我的数据库反映我的模型。到目前为止,我已经尝试了以下方法:
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 完全删除了我的数据库,然后它让我创建了一个新的超级用户,但仍然创建的数据库不反映对我的模型的更改。
我在这里不知所措,我还能在这里做什么?另外,我是学习 Django 的新手,模型和我的数据库之间是否有某种层?我会假设有因为删除然后重建数据库不起作用。
在此不胜感激。
【问题讨论】:
-
如果您得到答案,请将其标记为已验证。
-
python manage.py migrate是您所需要的。 -
如果删除数据库并重新运行 syncdb 不起作用,那么您要么没有保存模型文件,要么没有更新您认为拥有的模型文件。 Django 没有添加任何类型的层,那有什么意义呢?
标签: django django-models