我正在尝试实时删除记录或自动类似于this
据我了解(我是新手)你需要写一个管理命令,但我很难掌握这个概念,它是如何实时的?有人能指出我正确的方向吗?我很迷茫。提前谢谢。
答案 0 :(得分:3)
您可以在文档中找到有关自定义Django命令的所有信息:https://docs.djangoproject.com/en/1.8/howto/custom-management-commands/
基本上,您需要创建一个management/commands
目录,因此您的文件夹结构如下所示:
app/
... (some stuff you're having in your app directory)
management/
__init__.py
commands/
__init__.py
delete_all.py
现在在delete_all.py
中,您希望声明一个扩展BaseCommand
的新命令类,并负责您的所有逻辑。最简单的实现方式如下:
# delete_all.py
from django.core.management.base import BaseCommand
from app.models import MyModel
class Command(BaseCommand):
def handle(self, *args, **options):
print('Deleting all MyModel records!')
MyModel.objects.all().delete()
print('Successfully deleted all MyModel records!')
现在,您可以使用manage.py
:
python manage.py delete_all