2013-09-11 65 views
0

我有以下代碼,我需要使用setattr從字符串生成變量,並將其設置爲等於amnPython - 沒有自我參數的setattr函數,2參數而不是3

for i in amenities: 
    if i in request.GET: 
     amn = request.GET.getlist(i) 
     propertiesList = Property.objects.filter(setattr(i+"__title__in", amn)) 

它似乎setattr需要3個參數,我怎麼能只用這兩個參數呢?

+0

'setattr'設置對象的屬性,並返回'None'。你期待它做什麼? – user2357112

回答

2

不幸的是,你不能使用setattr達到你想要的東西,試試這個:

propertiesList = Property.objects.filter(**{i+"__title__in": amn}) 
+0

當我是'「富」',它等於'Property.objects.filter(foo__title__in = amn)',搜索「python字典拆包」。 – iMom0