2012-05-25 41 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