2016-07-22 2 views
0

여기에 내가 무엇을 찾고의 (정말) 거친 예제 특정 시점 이전에 활성화되거나 활성화 된 적이없는 클라이언트를 쿼리합니다.mongoengine - 다음 스키마 문서 주어진 -에 의해 필터는 "OR"단일 쿼리에서 하나의 필드에

즉, 활성화 날짜가없는 항목이나 2016-07-22 이전에 있었던 항목을 검색하면 두 문서가 결과에 표시됩니다.

{ "name": "Bob Lawbla" } 
{ "name": "Gerry Mander", "activated_on": 2016-07-01T00:00:00 } 

나는 내가 할 수있는 알고

Client.objects(activated_on__lte=datetime.datetime(2016,7,22)) 

Client.objects(activated_on__exists=False) 

하지만이 어떻게 하나 개의 쿼리로 결합합니까?

답변

0

사용할 수 Q class :

from mongoengine.queryset.visitor import Q as MQ 

Client.objects(MQ(activated_on__exists=False)|MQ(activated_on__lte=datetime.datetime(2016,7,22))) 
+0

는 좋은 근무 - 감사합니다! – lps