2012-07-01 6 views
1

, 나는 다음과 같은 코드를 대체하는 방법 :.GAE .filter()에서 OR 문을 사용할 수 있습니까? 나는 라이센스 ID를 구동하여 여권 ID <strong>또는</strong>로 검색 할 경우, 예를 들어

employees.filter('passport_id =', passport_id) 
employees.filter('dlicense_id =', dlicense_id) 

을 또는 내가 대신 두 개의 쿼리를 사용해야합니까?

결과를 어떻게 병합 할 수 있습니까? 절은 하나 개 이상의 조건을 충족하는 기관 로 설정 결과를 필터링 WHERE

+1

나는'db'에서'ndb'로 바꿀 것을 제안합니다. https://developers.google.com/appengine/docs/python/ndb/queries – aschmid00

답변

1

아니, 당신은 docs

옵션에 따라 사용 또는 수 없습니다. 각 조건은 엔티티의 속성 을 비교 연산자를 사용하여 값과 비교합니다. AND 키워드로 조건이 여러 개 제공되는 경우 엔터티는 쿼리에서 반환 할 모든 조건을 충족시켜야합니다. GQL에는 OR 연산자가 없습니다. 그러나 IN 연산자는 제한된 형태의 OR을 제공합니다.

두 번째 질문에 대해서는 Google 그룹스에서 post이 있습니다. 결과는 병합에 도움이됩니다.

+1

이는 'db' 패키지에만 해당됩니다. 'ndb'는 OR 쿼리를 지원합니다. https://developers.google.com/appengine/docs/python/ndb/queries#nest_and_or – aschmid00

관련 문제