Django中的嵌套管理命令

2024-09-30 02:36:28 发布

您现在位置:Python中文网/ 问答频道 /正文

在Django中是否有创建嵌套管理命令的方法,类似于dockerkubectl的方法?例如,假设我需要具有以下结构:

|-->manage.py
    |-->restaurant
        |-->list
        |-->get
    |-->employee
        |-->list
        |-->get
        |-->delete

以下命令都应该是可能的:

./manage.py -h
./manage.py restaurant -h
./manage.py restaurant list
./manage.py employee list
./manage.py restaurant get ""
./manage.py employee delete tiffany

argparsesubparser看起来很有希望,但我觉得应该有一种更简单的方法在app/management/commands或类似的地方使用python模块


Tags: django方法dockerpy命令getmanageemployee
1条回答
网友
1楼 · 发布于 2024-09-30 02:36:28

你可以为此添加一个论点

from django.core.management.base import BaseCommand, CommandError

class Command(BaseCommand):

    def add_arguments(self, parser):
        parser.add_argument('command_type', type=str)

    def handle(self, *args, **options):
        command_type = options['command_type']
        if command_type == 'list':
            # list command
            return
        elif command_type == 'get':
            # get command
            return
        raise CommandError('Invalid arguemnt for command_type')

用法:

py manage.py my_command get
py manage.py my_command list

相关问题 更多 >

    热门问题