【发布时间】:2020-02-23 19:55:24
【问题描述】:
我想知道是否有办法将 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 将被添加到解析器参数的“默认”字段中,而实际字段(“类型”、“帮助”和“必需”)不受影响。
【问题讨论】:
标签: python flask-restful