如何在Django应用程序中删除数据库中的所有数据?在之前的版本中manage.py reset APPNAME完成了这项工作,但已被弃用.
如果我们想要使用命令行删除应用程序中的所有数据,我们现在应该做什么?
Chr*_*att 15
reset并且sqlreset只是围绕其他管理命令的包装器.sqlreset特别是可以通过简单运行来复制:
python manage.py sqlclear myapp
python manage.py sqlall myapp
Run Code Online (Sandbox Code Playgroud)
reset仅用于自动运行sqlreset数据库的结果.就个人而言,我认为删除这是一个奇妙的想法.但是,如果您想要类似的功能,您可以将输出管道传输到数据库的shell命令.
对于PostgreSQL,例如:
python manage.py sqlclear myapp | psql mydatabase
python manage.py sqlall myapp | psql mydatabase
Run Code Online (Sandbox Code Playgroud)
小智 8
如果你想要一个适用于大多数数据库类型的单一命令,你可以将sqlclear生成的drop table语句传递给dbshell
python manage.py sqlclear myapp | python manage.py dbshell
from django.contrib.contenttypes.models import ContentType
for ct in ContentType.objects.all()
ct.model_class().objects.all().delete()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8687 次 |
| 最近记录: |