查询包含listproperty中某个元素的所有模型的数据存储区

时间:2011-01-23 12:53:31

标签: python google-app-engine gql listproperty

嘿,我有这样的模特:

class List(db.Model):
    user = db.ReferenceProperty(User)
    listname = db.StringProperty()
    published = db.DateTimeProperty(auto_now_add=True)
    score = db.IntegerProperty(required=False)
    tld = db.StringProperty(required=False)
    categories = db.StringListProperty()

列表可以附加多个类别(因此listproperty)。我想使用这些类别来构建类别页面,因此我需要一个查询,我可以用它来获取在其categories属性中具有特定类别的所有列表。我尝试过几种不同的方法,但似乎都没有。有这样的查询吗? (以下不起作用):

select * from List where 'Philosophy' in categories

如果没有,我将不得不做类似的事情:

lists = List.all()
for list in lists:
    if 'Philosophy' in list.categories:
        #add this list to the lists to display on page

但这感觉就像要么非常缓慢或以某种方式打破......

有什么想法吗?谢谢!

汤姆

更新

哎呀,我解决了对不起打扰!对于任何有兴趣的人,你可以使用这样的查询:

SELECT * FROM List where categories = 'Philosophy'

这将匹配任何类别中具有“哲学”的列表。

1 个答案:

答案 0 :(得分:2)

哎呀,我解决了对不起打扰!对于任何有兴趣的人,你可以使用这样的查询:

SELECT * FROM List where categories = 'Philosophy'

这将匹配任何类别中具有“哲学”的列表。