django中从你的代码运行管理命令call_command

# 主要用法就是调用django自定义的Command命令
# 语法
django.core.management.call_command(name,*args,**options)
- name # 要调用的命令的名称或命令对象。除非测试需要对象,否则首选传递自定义command的文件名称。
- args # 命令接受的参数列表。参数传递给参数解析器,因此您可以使用与在命令行上相同的样式。例如call_command('flush', '--verbosity=0')
- options # 命令行上接受的命名选项,选项被传递给命令而不触发参数解析器,这意味着你需要传递正确的类型。例如call_command('flush', verbosity=0)
from django.core.management import call_command
from django.core.management.commands import loaddata
call_command('flush', verbosity=0, interactive=False)
call_command('loaddata', 'test_data', verbosity=0)
call_command(loaddata.Command(), 'test_data', verbosity=0)
请注意,不带参数的命令选项作为关键字使用True或传递False,正如在interactive上面的选项中看到的那样。
call_command('dumpdata', '--natural-foreign')
call_command('dumpdata', natural_foreign=True)
call_command('dumpdata', use_natural_foreign_keys=True)
posted @ 2021-11-26 14:39  我在路上回头看  阅读(426)  评论(0编辑  收藏  举报