2012-05-25 39 views
0

很抱歉,但我不知道是什麼頭銜,我應該給這個問題Django的查詢集使用一次

我有follwowing模型(建議):

class Stuff(models.Model): 
    summer = models.CharField() 
    winter = models.CharField() 
    #other fields 

及以下觀點:

def get_stuff(request, type, id): 
    if type == 'summer': 
     qs = Stuff.objects.filter(summer=id) 
    if type == 'winter': 
     qs = Stuff.objects.filter(winter=id) 
    return qs 

由於我知道要查找哪個字段,我該如何才能使用該查詢?就像這樣:

Stuff.objects.filter(type=id) #type = summer or winter field 

例子:

type='summer' 
id=1 
Stuff.objects.filter(type=id) => Stuff.objects.filter(summer=id) 

type='winter' 
id=1 
Stuff.objects.filter(type=id) => Stuff.objects.filter(winter=id) 
+0

我不明白你問什麼在這裏, 您想做什麼? – murgatroid99

回答

5

你沒有真正節省非常多,但我想你想的:

qs = Stuff.objects.filter(**{type: id}) 
+0

酷Thnx!對我來說,這不是節省多少,而是節省。 – nelsonvarela

+0

僅供參考,你怎麼稱呼它? – nelsonvarela