2017-02-10 81 views
0

可以說我有像這樣的命令:修改Django的命令參數

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的孔add_arguments或其他什麼?

回答

1

你可以使用一個類屬性:

class Command(object): 
    help = 'roll over and die' 
    foo_required = True 

    def add_arguments(self, parser): 
     parser.add_argument(
      '--foo', 
      # ... 
      required=self.foo_required 
     ) 

,然後在繼承Command

class Command(foo.bar.Command): 
    foo_required = False 

,你就不必重寫add_arguments