我可以组合自定义 django-admin 命令吗?
Can I combine custom django-admin commands?
我有几个子类 BaseCommand
的自定义命令 类。我按特定顺序使用它们来填充数据库。
我想写另一个命令将它们组合成一个命令。我不想编写将按正确顺序执行命令的 shell 脚本。我希望它是一个 django-admin 命令。
我知道我可以将所有命令的代码放在一个命令中,但我正在寻找一种更通用的方法来完成它。这样我就可以将每个数据库的所有填充脚本 table 清理干净并分开。
您可以编写另一个命令,并为每个要 运行 的命令使用 call_command
。
from django.core import management
然后在你的管理命令中:
management.call_command('my_first_command')
management.call_command('my_second_command')
...
如果您的管理命令采用 args 或 kwargs,您需要做更多的工作。
我有几个子类 BaseCommand
的自定义命令 类。我按特定顺序使用它们来填充数据库。
我想写另一个命令将它们组合成一个命令。我不想编写将按正确顺序执行命令的 shell 脚本。我希望它是一个 django-admin 命令。
我知道我可以将所有命令的代码放在一个命令中,但我正在寻找一种更通用的方法来完成它。这样我就可以将每个数据库的所有填充脚本 table 清理干净并分开。
您可以编写另一个命令,并为每个要 运行 的命令使用 call_command
。
from django.core import management
然后在你的管理命令中:
management.call_command('my_first_command')
management.call_command('my_second_command')
...
如果您的管理命令采用 args 或 kwargs,您需要做更多的工作。