Как объединить несколько пользовательских команд управления в Django?
Я написал набор команд для своего проекта Django обычным способом. Возможно ли объединить несколько команд в одну команду?
class Command(BaseCommand):
""" import all files in media in dir and add to db
after call process to generate thumbnails """
def handle(self, *args, **options):
...
Для того чтобы сделать простые шаги, у меня есть такие команды, как: импорт файлов, чтение метаданных из файлов, создание эскизов и т.д. Теперь задача состоит в том, чтобы создать команду "do all", которая каким-то образом импортирует эти команды и выполняет их одну за другой.
Как это сделать?
Вы можете определить команду DoAll и использовать django django.core.management.call_command
для запуска всех ваших подкоманд. Попробуйте сделать что-то вроде следующего:
class FoobarCommand(BaseCommand):
""" call foo and bar commands """
def handle(self, *args, **options):
call_command("foo_command", *args, **options)
call_command("bar_command", *args, **options)