嗨,我正在尝试添加新的键值对,但收到错误消息
类型错误:'ImmutableMultiDict'对象是不可变的我要添加新键的变量来自 request.form ,但我无法添加新键值。关于如何实现这一点的任何想法?

这是我在 Controller 上的代码

@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的分配上遇到错误是错误消息

python - TypeError :  'ImmutableMultiDict'  objects are immutable python-LMLPHP

最佳答案

您可以使用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']

关于python - TypeError : 'ImmutableMultiDict' objects are immutable python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45711979/

10-16 00:44