gpt4 book ai didi

python - 复制 AppEngine 查询对象以创建过滤器的变体而不影响基本查询

转载 作者:太空宇宙 更新时间:2023-11-03 23:49:35 25 4
gpt4 key购买 nike

在我的 AppEngine 项目中,我需要使用某个过滤器作为基础,然后将各种不同的额外过滤器应用到最后,分别检索不同的结果集。例如:

base_query = MyModel.all().filter('mainfilter', 123)

然后我需要分别使用各个子查询的结果:

subquery1 = basequery.filter('subfilter1', 'xyz')
#Do something with subquery1 results here

subquery2 = basequery.filter('subfilter2', 'abc')
#Do something with subquery2 results here

不幸的是,'filter()' 会影响 basequery 查询实例的状态,而不仅仅是返回修改后的版本。有没有办法复制查询对象并将其用作基础?是否有一种标准的 Python 方法来复制可以使用的对象?

额外的过滤器实际上是由向导中不同形式的结果动态应用的,它们使用分支中查询的“运行总计”来评估是否要提出进一步的问题。

显然,我可以传递基本的过滤条件堆栈,但如果可能的话,我宁愿使用 Query 本身,因为它使解决方案更加简单和优雅。

最佳答案

没有官方批准的(例如,不太可能破坏)方法来做到这一点。最好的选择是在需要时根据参数重新创建查询。

关于python - 复制 AppEngine 查询对象以创建过滤器的变体而不影响基本查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2793734/

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