2011-03-10 36 views
0

我正在使用SQLObject並希望以編程方式使用.q對象(或其他方式)構建查詢 - 但不想恢復爲實際的SQL。使用eval以編程方式定義SQLQuery q對象

我試着這樣做:

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

我有這樣的:

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

但就覺得這是 「錯誤的」 - 這是 「正確的」(或更恰當地,「pythonic」)的方式來做到這一點?

回答

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

d'oh!我使用setattr在輸入端實現相同的功能,我應該在輸出端考慮getattr。謝謝! – tkone 2011-03-10 13:40:08

相關問題