Python 修改Django命令参数
假设我有这样一个命令:Python 修改Django命令参数,python,django,django-commands,Python,Django,Django Commands,假设我有这样一个命令: class Command(object): help = 'roll over and die' def add_arguments(self, parser): parser.add_argument( '--foo', help='see command help', choices=['die','die_painfully'], re
class Command(object):
help = 'roll over and die'
def add_arguments(self, parser):
parser.add_argument(
'--foo',
help='see command help',
choices=['die','die_painfully'],
required=True
)
parser.add_agument( ... ) x 9001
现在我想要一个几乎相同的类,但我不想再需要参数--foo了。如果我
super
这个洞在inhering方法或其他东西中添加了参数,你能修改这个解析器吗?你可以使用class属性:
class Command(object):
help = 'roll over and die'
foo_required = True
def add_arguments(self, parser):
parser.add_argument(
'--foo',
# ...
required=self.foo_required
)
然后在继承命令中
:
class Command(foo.bar.Command):
foo_required = False
而且您不必重写添加参数