2011-03-10 4 views
0

SQLObject를 사용하고 프로그래밍 방식으로 .q 객체 (또는 다른 방법)를 사용하여 질의를 작성하려고하지만 실제 SQL로 되돌리고 싶지는 않습니다.프로그래밍 방식으로 SQLQuery 객체를 정의하기 위해 eval 사용하기

나는 같은 것을 할 노력하고있어 :

column = 'name' 
value = 'todd' 
Users.select(Users.q.column==value) 

을 나는이있어 :

Users.select(eval('Users.q.%s' % column)==value) 

을하지만 그냥 "잘못"느낌 - 이것이 "올바른"(또는 더 "aptly,"pythonic ") 방법이 일을?

답변

2
Users.select(getattr(Users.q, column)==value) 
+0

오! 나는 setattr을 사용하여 입력 끝에서 같은 결과를 얻고있다. 출력 끝에서 getattr에 대해 생각해야한다. 고맙습니다! – tkone

관련 문제