2012-09-21 3 views
1

eval()을 사용하는 것 이외에 Q()를 동적으로 생성하는 방법이 있습니까?mongoengine - 동적 생성 Q()

평가()와

현재 방법

Q = 평가 ("Q ("+ q_arg + 모드 + "= 인수 [ARG])") 모드 "_ 에서"은

인 경우 또는 " _nin" 그냥 사전을 구축하고 예에 전달할 수 있도록, 사전 될 수있는 -

이는 단지 kwargs를 취할 수있는 파이썬 클래스처럼, 평가()

답변

3

Q 객체없이 일을하려고, 작동 :

kwargs = {} 

# Build the key and add it to the kwargs dict 
key = "%s%s" % (q_arg, mode) 
kwargs[key] = args[arg] 

# Pass kwargs to Q 
q = Q(**kwargs) 
+0

완벽한! 감사! – user1689543

+1

다른 사람이 이것을 찾는 데 도움이되도록 질문에 답변으로 표시하십시오. – Ross