0

对不起,但我不知道我应该给这个问题什么标题(建议?)

我有以下模型:

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)
4

1 回答 1

5

你并没有真正节省很多,但我想你想要这个:

qs = Stuff.objects.filter(**{type: id})
于 2012-05-25T13:44:32.917 回答