【问题标题】:Can I combine custom django-admin commands?我可以组合自定义 django-admin 命令吗?
【发布时间】:2015-11-12 11:51:57
【问题描述】:

我有几个自定义命令类,它们是BaseCommand 的子类。我按特定顺序使用它们来填充数据库。

我想编写另一个命令将它们组合成一个命令。我不想编写一个以正确顺序执行命令的 shell 脚本。我希望它是一个 django-admin 命令。

我知道我可以将所有命令的代码放在一个单独的命令中,但我正在寻找一种更通用的方法来做到这一点。这样我就可以将每个 db 表的所有填充脚本都清理干净并分开。

【问题讨论】:

    标签: python django django-commands


    【解决方案1】:

    您可以编写另一个命令,并为每个要运行的命令使用call_command。

    from django.core import management
    

    然后在你的管理命令中:

    management.call_command('my_first_command')
    management.call_command('my_second_command')
    ...
    

    如果您的管理命令采用 args 或 kwargs,您需要做更多的工作。

    【讨论】:

    • 你是对的,它在文档中,我应该看到它。你认为我应该删除这个问题吗?
    • 不,不要删除问题。这个问题很好,其他人将来可能会发现它有用。如果我们删除文档涵盖的所有问题,就不会剩下很多了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多