我需要构造一个具有重复属性的逻辑查询,但无法让它工作。 我有一个包含主题的列表对象。
topics = [u'string1', u'string2', ...]
我有一个查询对象:
videos = Video.query()
videos.count()
=> 19
topics 是一个重复的字符串属性
class Video
topics = ndb.StringProperty(repeated=True)
我想返回主题为 string1
或 string2
的视频。我之前也不知道列表对象的长度,或者我可以使用逻辑运算符来构造查询。
我尝试按照文档的建议这样做
videos.filter( Video.topics.IN([topics]) )
但这会引发错误,IN 期望的是字符串而不是列表对象。
我该怎么做?
最佳答案
看起来topics
已经是一个列表。因此,您需要在没有其他列表的情况下传递它:
videos.filter( Video.topics.IN(topics) )
关于google-app-engine - 如何使用 google appengine ndb 中的列表对象查询重复属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14291341/