gpt4 book ai didi

google-app-engine - 如何正确使用 NDB 查询 AND/OR

转载 作者:行者123 更新时间:2023-12-02 17:40:05 25 4
gpt4 key购买 nike

我不确定是否正确使用 ANDOR 构建查询。当我查询仅匹配标签时,我得到了一些匹配的视频。但是当我尝试第二个查询时(以确保视频与其自身无关),查询将返回所有视频。

更新:我希望返回至少具有一个与相关 video 相同标签的视频,但返回的列表不包含 视频。基本上是相关视频功能。

from solveforx.lib.moonshots import Video
from google.appengine.ext import ndb

video = Video.query().get()
tags = video.tags or []

for tag in tags:
print Video.query(Video.tags == tag).count() # returns 1
print "-------"
print Video.query(Video.tags == tag and Video.key != video.key) # returns total videos - 1
print "========"
# also tried this
# print Video.query(Video.tags == tag, ndb.AND(Video.key != moonshot.key)).count() # returns 0
# print Video.query(ndb.AND(ndb.AND(Video.tags == tag), ndb.AND(Video.key != video.key) )).count()

查看 the documentation对此,但不确定运营商如何工作。

最佳答案

AND 至少需要两个参数。你应该这样做:

Video.query(ndb.AND(Video.tags == tag, Video.key != video.key))

从您发布的链接中,您还可以看到有关如何将其与 ndb.OR 结合使用的更多示例。

关于google-app-engine - 如何正确使用 NDB 查询 AND/OR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15638912/

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