В моем приложении django я пишу собственную команду управления, которая создаст экземпляр объекта на основе переданных аргументов и будет иметь возможность сохранить его в базе данных в зависимости от того, передана опция --save
или нет.
Я получил большую помощь по этому вопросу из самой документации django. здесь также есть важные указания о том, как передавать несколько аргументов, и здесь о том, как иметь параметры.
from optparse import make_option
class Command(BaseCommand):
option_list = BaseCommand.option_list + (
make_option('--delete',
action='store_true',
dest='delete',
default=False,
help='Delete poll instead of closing it'),
)
def handle(self, *args, **options):
# ...
if options['delete']:
poll.delete()
# ...
Однако я не могу найти подробное объяснение полей в make_option. Например, optparse.make_option списки
Instance attributes:
_short_opts : [string]
_long_opts : [string]
action : string
type : string
dest : string
default : any
nargs : int
const : any
choices : [string]
callback : function
callback_args : (any*)
callback_kwargs : { string : any }
help : string
metavar : string
Это help
говорит само за себя, и я понял, что будет значить dest
, но мне не ясно, что означает action='store_true'
. На самом деле было бы замечательно, если бы кто-нибудь мог дать мне краткое описание того, что означают все аргументы make_option
...
большое спасибо