GAE数据存储查询过滤器字符串列表

时间:2014-03-31 09:06:33

标签: python google-app-engine filter google-cloud-datastore listproperty

在GAE models.py

class Article(db.Model):    
    tags = db.ListProperty(db.Category)

文章可能有很多标签(例如:' a','' c'),所以如果我有一个标签(例如:& #39;文章的标签如何从数据存储中获取文章记录?

我知道一种获取()的方法,然后进行比较,但这种方式效率太低,无法真正在生活中使用它!

2 个答案:

答案 0 :(得分:1)

你可以使用equals。像这样:

tag = 'a'
articles = Article.gql('WHERE tags = :1', tag).fetch(100)

答案 1 :(得分:0)

你可以试试这个:

articles = Article.query().filter(Article.tags==tag).fetch(100)

似乎你是GAE的新手,所以我建议你切换到ndb而不是db,因为ndb更快并处理缓存本身。