1

我正在使用 Django 1.4 和 PyCharm 2.5 作为我的 IDE 和 Postgres 数据库,在 Python 2.7 中开发一个 Web 应用程序。我能够运行 manage.py 命令,例如创建 SQLsqlsyncdb表,但无法识别其他命令。当我尝试运行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

谁能帮我弄清楚发生了什么?

4

3 回答 3

3

你确定你正在运行 Django 1.4 吗?sqlreset我认为自 1.3 以来已被弃用,并计划在 1.5 中删除它存在于 Django 1.4中,但在开发版本中已被删除。

于 2012-06-23T14:50:21.450 回答
0

没有一个sqlreset

此处信息:https ://docs.djangoproject.com/en/dev/ref/django-admin/

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

于 2012-06-23T14:36:42.977 回答
0

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

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

我写了这个要重置你的数据库的要点。它不可移植(仅适用于 *inx-like 系统),但它可能会对您有所帮助。

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

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
于 2012-06-23T15:08:19.337 回答