python django创建自己的命令并添加列表作为参数

python django创建自己的命令并添加列表作为参数,python,django,command,Python,Django,Command,我想使用py manage.py own_命令 我得到了以下代码: from django.core.management.base import BaseCommand class Command(BaseCommand): help = 'create user' def add_arguments(self, parser): parser.add_argument('--username', type=str, help='set username'

我想使用py manage.py own_命令

我得到了以下代码:

from django.core.management.base import BaseCommand


class Command(BaseCommand):
    help = 'create user'

    def add_arguments(self, parser):
        parser.add_argument('--username', type=str, help='set username')
        parser.add_argument('--password', type=str, help='set password')
        parser.add_argument('--email', type=str, help='set password')
        parser.add_argument('--group', type=list, default=[], action='append', help='set group(s) like ["basic", "advanced"]')
        parser.add_argument('--permission', type=list, default=[], action='append', help='set permission(s) like ["delete", "write"]')
创造

]


我找到了django=2.1的解决方案,您只需要指定nargs='*',以允许0个或多个值,或者指定nargs='+',以允许1个或多个值,例如:

parser.add_参数 “-群”, nargs='*', help='set Group,如basic、advanced', 此外,您需要调用不带方括号或逗号的命令:

py manage.py create_app_user --username dustin --password hdf --email "" --group "admin" "basic"

您是否尝试过将-group参数加引号,例如,“[admin,basic]”@OsmanOmar its not replicate,正如我在底部所写->您的票据是django@Steve的解决方案,同样错误地输出moust,但output group=kwargs['group']看起来像是组的成员:[[['a',d',m',I',n'],['b',a',s',I',c']]对,实际上,您不需要type=list、action和default,它们是从nargsferfect推断出来的。parser.add_argument'-group',nargs='+',help='set group like basic advanced'酷,如果答案解决了您的问题,请接受
usage: manage.py create_app_user [-h] [--username USERNAME]
                                 [--password PASSWORD] [--email EMAIL]
                                 [--group GROUP] [--permission PERMISSION]
                                 [--version] [-v {0,1,2,3}]
                                 [--settings SETTINGS]
                                 [--pythonpath PYTHONPATH] [--traceback]
                                 [--no-color]
manage.py create_app_user: error: unrecognized arguments: basic
py manage.py create_app_user --username dustin --password hdf --email "" --group "admin" "basic"