Flask 烧瓶不停预处理器“;删除“U资源”;不会被调用

Flask 烧瓶不停预处理器“;删除“U资源”;不会被调用,flask,sqlalchemy,preprocessor,Flask,Sqlalchemy,Preprocessor,嗨,我有一个Javascript客户端,它生成以下url ,(其中abcde是服务器端“sdk\u prodinfo”表的主键) 我已经在python flask应用程序上注册了api,下面给出了其代码 manager.create_api(SdkProdinfo, app=app,methods=['GET', 'POST', 'PUT', 'PATCH', 'DELETE'], include_methods=["dns_addresses"], preprocessors={

嗨,我有一个Javascript客户端,它生成以下url ,(其中abcde是服务器端“sdk\u prodinfo”表的主键)

我已经在python flask应用程序上注册了api,下面给出了其代码

manager.create_api(SdkProdinfo, 
app=app,methods=['GET', 'POST', 'PUT', 'PATCH', 'DELETE'],

include_methods=["dns_addresses"],

preprocessors={
                'POST': [SdkProdinfo.pre_create_app],
                'DELETE': [SdkProdinfo.pre_delete_app],
                'PUT': [SdkProdinfo.pre_update_app],
                'PATCH': [SdkProdinfo.pre_update_app]
                },

validation_exceptions=[ValidationError])


def pre_delete_app(instance_id, **kw):


        current_app.logger.debug("{0}.{1}: Validating delete prod app request".format(__name__, inspect.currentframe().f_code.co_name))

        from . import sdk_prod_count
        from . import sdk_prod_purchase

        # Check if the app is live
        prd_cnt = db.session.query(sdk_prod_count.SdkProdCount).get(instance_id)
        if prd_cnt is None:
            abort(make_response(jsonify(message="No matching prod count"), 400))
        if prd_cnt is not None and prd_cnt.go_live == 1:
            abort(make_response(jsonify(message="Deletion not allowed - app is live"), 400))

        # Check if the app has a purchase history
        purchases = db.session.query(sdk_prod_purchase.SdkProdPurchase).filter(sdk_prod_purchase.SdkProdPurchase.production_nmaid == instance_id).all()
        if len(purchases) > 0: # is not None and prd_cnt.go_live == 1:
            abort(make_response(jsonify(message="Deletion not allowed - app has a purchase history"), 400))

        return request.json['prod_nmaid']
但是,当我尝试从UI发出删除请求时,由于某种原因,我的预处理器函数“SdkProdinfo.pre_delete_app”没有被调用


有人能帮我吗?

你有什么错误吗?你确定js发送的数据正确吗?我没有收到任何错误,但是预处理器不会被调用。删除过程直接完成,无需调用预处理器。是的,JS正在发送正确的数据。当请求/api/person/id进行删除时是否有限制,id必须是整数?在我的情况下,它是一个字符串。如果你说的是数据库主键,我的ID总是作为一个整数。将其转换为int不会有什么坏处。您有任何日志记录设置吗?是的,我有设置,但是我没有看到任何错误被记录。我所看到的只是在没有预处理器的情况下直接调用的日志上的删除请求