gpt4 book ai didi

Python Eve 条件/批量删除

转载 作者:行者123 更新时间:2023-11-28 19:08:44 25 4
gpt4 key购买 nike

来自 Nicola's SO answer here我自己的测试似乎很清楚 Eve 不支持资源端点的条件删除。

我知道我可以对文档的 _ids_etags 使用 GET: "where={...}" 请求我想删除,然后在每个项目端点发送一系列请求以将 If-Match header 适当设置为每个项目的 _etag 来删除它们:

for each item:
DELETE: http://localhost:5000/items/<item._id>

...但我希望尽可能避免发送多个 HTTP 请求。

一个解决方案可能是 predefined database filters ,但这些将是静态过滤器,我想根据某些 URL 参数动态过滤删除。 Pre-event hooks可能是我正在寻找的解决方案。

Eve 支持批量删除吗?如果不是,那么扩展 Eve 的功能以提供条件和/或批量删除的推荐方法是什么?

最佳答案

我在 DELETE 中添加了一个事件前 Hook ,这似乎适用于我目前运行的测试:

def add_delete_filters(resource, request, lookup):
if 'where' in request.args:
conditions = request.args.getlist('where')
for cond_str in conditions:
cond = json.loads(cond_str)
for attrib in cond:
lookup[attrib] = cond[attrib]

app = Eve()
app.on_pre_DELETE += add_delete_filters

关于Python Eve 条件/批量删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43268784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com