您好我正在尝试添加新的键值对,但我收到的错误是 TypeError:' ImmutableMultiDict'对象是不可变的我尝试添加新密钥的变量来自 request.form ,但我无法添加新的密钥值。关于如何实现这个的任何想法?
这是我控制器上的代码
@benefits_api.route("/templates", methods=["POST"])
def store():
parameters = request.form
response = BenefitTemplateService.create(parameters)
return jsonify(response), response['code']
我的服务就像这样
class BenefitTemplateService(object):
@staticmethod
def create(params):
# some validation here
params['credit_behavior'] = "none"
return params
但是我在下面的credit_behavior的分配上收到错误是错误消息
答案 0 :(得分:4)
您可以使用to_dict()
的内置ImmutableMultiDict
方法,这将为您提供可以自由修改的词典。
您可以对代码进行以下更改:
@benefits_api.route("/templates", methods=["POST"])
def store():
parameters = request.form.to_dict()
response = BenefitTemplateService.create(parameters)
return jsonify(response), response['code']