Django:manage.py标准命令不起作用

时间:2012-06-23 14:18:09

标签: python sql database django command

我正在使用Django 1.4开发一个Web应用程序,使用PyCharm 2.5作为我的IDE和Postgres数据库。我能够运行诸如sqlsyncdb之类的manage.py命令来创建SQL和表,但是无法识别其他命令。当我尝试运行sqlreset(或任何其他删除表或更改数据的命令)时,出现“未知命令”错误:

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

有谁可以帮我弄清楚发生了什么?

3 个答案:

答案 0 :(得分:2)

你确定你在运行Django 1.4吗?我认为,sqlreset自1.3以来已被弃用,且为slated to be removed in 1.5It is present in Django 1.4,但已在开发版本中删除。

答案 1 :(得分:0)

没有sqlreset

信息在这里:https://docs.djangoproject.com/en/dev/ref/django-admin/

manage.py help正如您的帖子所示......

答案 2 :(得分: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