GAE Datastore фильтр запросов строковый список

В GAE models.py

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

В статье может быть много тегов (например, "a", "b", "c"), поэтому, если у меня есть один (например, "a") тегов статьи, как мне получить запись статьи из хранилища данных?

Я знаю способ получения (), затем сравниваю, но этот способ слишком неэффективен, чтобы реально использовать его в жизни!

2 ответа

Вы можете просто использовать равных. Как это:

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

Вы можете попробовать это:

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

И кажется, что вы новичок в GAE, поэтому я должен посоветовать вам переключиться на ndb вместо db, так как ndb работает быстрее и обрабатывает само кеширование.

Другие вопросы по тегам