我可以组合自定义 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,您需要做更多的工作。