Как я могу запрашивать только __key__ на дочернем устройстве Google Appengine PolyModel? - PullRequest
2 голосов
/ 17 апреля 2010

Итак, ситуация такова: я хочу оптимизировать свой код для подсчета записей. Поэтому у меня есть родительский класс Model Base, класс PolyModel Entry и дочерний класс Entry Article: Как бы я запросил Article. key , чтобы я мог уменьшить нагрузку на запрос, но получить только количество Article. 1003 *

Моей первой мыслью было использовать:

q = db.GqlQuery("SELECT __key__ from Article where base = :1", i_base) 

но оказывается, что GqlQuery это не нравится, потому что статьи на самом деле хранятся в таблице с именем Entry.

Можно ли запросить атрибут класса? что-то вроде:

q = db.GqlQuery("select __key__ from Entry where base = :1 and :2 in class", i_base, 'Article')

ни одна из которых не работает. Оказывается, ответ еще проще. Но я собираюсь закончить этот вопрос, потому что я искал везде это.

q = db.GqlQuery("select __key__ from Entry where base = :1 and class = :2", i_base, 'Article')

1 Ответ

0 голосов
/ 17 апреля 2010

последний элемент является ответом, class = class_name работает, хотя технически это список. Работал как шарм. Я обнаружил уникальную ошибку при проверке, когда при поиске key вы не можете использовать IN и! =.

...