2013-02-25 3 views
1

Можно ли использовать один и тот же класс командной строки администратора, чтобы запускать его с помощью или без аргументов.Команды администратора Django с аргументами/без аргументов

нравится, если args == "" (запустите эту команду) else: (запустите это)?

Заранее спасибо.

ответ

2

Конечно, просто проверить «арг», как передается методу ручки, как это:

from django.core.management.base import BaseCommand 

class Command(BaseCommand): 
    help = 'prints no args if there are no args' 

    def handle(self, *args, **options): 
     if len(args) == 0: 
      print 'no args' 
     else: 
      for pkid in args: 
       print pkid 
+0

То, что я пытаюсь сделать, это .... если я ставлю некоторое число в качестве аргументов (в моем случае это будет be pk value (digit)), чем я запустил код, который будет приносить определенный pk id. и если мои аргументы пусты, я буду запускать другой код, чтобы вывести все id из db. – yaniv14

+0

@ yaniv14 - Я обновил свой ответ, чтобы проверить отсутствие аргументов, а не конкретный аргумент. Я думаю, что обновленный код должен быть ближе к тому, что вы пытаетесь сделать. –

+0

Спасибо, он отлично работает – yaniv14

Смежные вопросы