TypeError:' ImmutableMultiDict'对象是不可变的python

时间:2017-08-16 11:11:42

标签: python flask

您好我正在尝试添加新的键值对,但我收到的错误是 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的分配上收到错误是错误消息

enter image description here

1 个答案:

答案 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']