2010-04-17 2 views
2

상황은 다음과 같습니다. 레코드 계산에 대해 코드를 최적화하고 싶습니다. 그래서 부모 모쥴 클래스베이스, 폴리 모델 클래스 엔트리 및 ​​엔트리 아티클의 하위 클래스가 있습니다. 어떻게 아티클을 쿼리합니까? 그래서 쿼리로드를 줄일 수 있지만 기사 수만 가져옵니다.Google Appengine PolyModel 하위에서 __key__ 만 쿼리하려면 어떻게해야합니까?

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

하지만 기사가 실제로 테이블라는 항목에 저장되기 때문에 GqlQuery가 좋아하지 않는 밝혀 :

내 첫번째 생각은 사용하는 것이 었습니다.

클래스 속성을 쿼리 할 수 ​​있습니까? 예 :

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') 

답변

0

마지막 항목은 대답이며, class = class_name은 기술적으로 목록이지만 작동합니다. 매력처럼 일했습니다. 이것을 검사하는 동안 고유 한 오류가 발생했습니다. 조회에서 IN 및! =을 사용할 수 없습니다.

관련 문제