gpt4 book ai didi

python - Gql 在没有祖先本身的情况下获得祖先的所有 child

转载 作者:太空宇宙 更新时间:2023-11-04 09:18:38 27 4
gpt4 key购买 nike

我正在尝试在 GAE 上构建类似平台的论坛。

我必须首先提到:我对 GAE 有点陌生。

我想提取对特定帖子的所有回复。到目前为止,结构如下所示:

- Forum
--- Post
----- Reply ( = Post with Post as a parent )

回复只是以帖子为父级的帖子(而不是以论坛为父级)。

当我尝试提取所有回复时,问题就开始了,返回的结果包括祖先本身。

如果没有祖先本身,我怎样才能实现同样的目标?(可能还需要提到我搜索了一个解决方案但没有找到)

编辑:

我的查询是这样的:

replies = db.GqlQuery("SELECT * FROM Post WHERE ANCESTOR IS :1", post)

谢谢!

更新:

好吧,我找到了一个方法:

db.GqlQuery("SELECT * FROM Post WHERE ANCESTOR IS :1 AND __key__ != :2", post, post.key())

只需在where子句中查询并排除祖先本身即可!

最佳答案

您提出的解决方案在查询中使用了不等式过滤器。底层数据存储不支持不等式过滤器,并且在内部转换为两个单独的查询,如下所示:

SELECT * FROM Post WHERE ANCESTOR IS :1 AND __key__ < :2
SELECT * FROM Post WHERE ANCESTOR IS :1 AND __key__ > :2

显然,这效率很低。一种更简单、更有效的选择是简单地获取所有结果,然后丢弃您不想要的一个实体。

关于python - Gql 在没有祖先本身的情况下获得祖先的所有 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5443499/

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