2012-06-23 39 views
1

我正在Python 2.7中开发一个Web应用程序,使用Django 1.4和PyCharm 2.5作为我的IDE和Postgres数据库。我能够运行manage.py命令(例如sqlsyncdb)来创建SQL和表,但其他命令无法识别。当我尝试运行sqlreset(或下降表或变造数据的任何其它命令),我得到一个“未知的命令”错误:Django:manage.py标准命令不起作用

runnerw.exe C:\Python27\python.exe "C:\Program Files (x86)\JetBrains\PyCharm 2.5.1\helpers\pycharm\django_manage.py" sqlreset EventMapperApp C:/Users/Karen/PycharmProjects/eventsMap 
Unknown command: 'sqlreset' 
Type 'manage.py help' for usage. 

Process finished with exit code 1 

谁能帮我弄清楚是怎么回事?

回答

0

没有sqlreset

资讯:https://docs.djangoproject.com/en/dev/ref/django-admin/

manage.py help为您的文章显示...

+0

我能想到的最好的是'sqlsequencereset'和'sqlclear' –

+0

哦!那么,这会很有意义,不是吗!我想PyCharm的界面需要更新。 – stank345

+0

但Django 1.4中有一个sqlreset。它已被删除在开发中。 –

0

Django的管理命令不会自动运行可能会破坏数据库的命令(诸如更改表格或更改列类型的命令)。

如果您想完全重置您的应用程序 - 就像您刚刚运行syncdb一样,则需要手动完成。

我写了这个gist这将重置您的数据库。它不可移植(只适用于* inx类系统),但它可能会帮助你。

注意:这将删除(删除)所有内容。

echo 'from django.conf import settings; print settings.INSTALLED_APPS; quit();' | \ 
python manage.py shell --plain 2>&1 | \ 
tail -n1 | sed -r "s|^.*\((.*)\).*$|\1|; s|[',]| |g; s|django\.contrib\.||g" | \ 
xargs python manage.py sqlclear | \ 
python manage.py dbshell && python manage.py syncdb 
+0

另请参阅管理命令'flush'和'sqlflush'。 –