Я задавался вопросом, есть ли способ передать dict аргументам команды RequestParser .add_argument ()
обычно это работает так
my_parser = reqparse.RequestParser()
my_parser.add_argument('my_field', type=dict, help='my_field must be a dict', required=True)
Для повторного использования кодаВ целях, я хотел бы использовать это примерно так:
my_arguments = {type=dict, help='my_field must be a dict', required=True}
, а затем передать их в качестве аргументов функции .add_argument, используя:
my_parser.add_argument('my_field', my_arguments)
Я застрял, пытаясь сделать этоиспользуя понимание списка,
my_parser.add_arguments('my_field', list(key=value for (key, value) in parser_arguments.items()))
, когда я понял, что, вероятно, не могу использовать dict, возможно, потребуется выполнить getattr () и явно уделить этому слишком много времени. Это кажется возможным и элегантным для меня, но я все равно не могу найти решение, благодарен за любые поучительные идеи по этому вопросу.
Редактировать: я не могу использовать интуитивный
my_parser.add_argument('my_field', my_arguments)
потому что dict будет добавлен в поле «default» аргумента синтаксического анализатора, а фактические поля («type», «help» и «required») не будут затронуты.