什么是删除所有表的django命令?

bha*_*ral 28 django

是否有django命令

A.删除所有表格

B.删除所有表格中的所有数据

C.创建模型中定义的所有表格?

我现在找不到这些!

而命令我指的是那些小事情

runserver
Run Code Online (Sandbox Code Playgroud)

等等

nat*_*tes 34

A.删除所有表格

manage.py sqlclear 将打印sql语句以删除所有表

B.删除所有表格中的所有数据

manage.py flush 在syncdb执行后立即将数据库返回到它所处的状态

C.创建模型中定义的所有表格?

manage.py syncdb 为INSTALLED_APPS中尚未创建表的所有应用程序创建数据库表.

有关所有命令的参考,请参阅此页面:https://docs.djangoproject.com/en/dev/ref/django-admin/

但你肯定应该考虑使用南方作为已经提到过的人.这是管理数据库的最佳方式.

NB:syncdb因为Django 1.7而被弃用以支持迁移.

  • 这个问题是`manage.py sqlclear`本身不起作用.你必须单独传递每个应用程序名称,如果你使用`syncdb`,它将不会反映现有模型的任何变化(这就是推荐南方的原因). (4认同)
  • 从Django 1.7开始,不推荐使用`syncdb`来支持`migrate`. (3认同)

Bur*_*lid 12

如果为数据库安装了客户端库,则可以运行以下命令:

python manage.py sqlflush | python manage.py dbshell

这不会删除表,但会截断它们.

没有一个命令可以一次完成所有操作,但是这个"一个班轮"将删除所有表,然后重新创建它们.它只有在运行在shell上提供这些实用程序的系统时才有效.

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


Anu*_*pta 10

manage.py sqlclear不能也不能manage.py reset同时丢弃所有表,都需要一个appname参数.

您应该看一下Django Extensions,它可以让您访问manage.py reset_db以及许多其他有用的管理命令.