Django queryset使用一次

nel*_*ela 0 django

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

我有以下模型:

class Stuff(models.Model):
    summer = models.CharField()
    winter = models.CharField()
    #other fields
Run Code Online (Sandbox Code Playgroud)

以及以下观点:

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
Run Code Online (Sandbox Code Playgroud)

我怎么能只使用一次查询,因为我知道要查看哪个字段?像这样:

Stuff.objects.filter(type=id) #type = summer or winter field
Run Code Online (Sandbox Code Playgroud)

例:

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)
Run Code Online (Sandbox Code Playgroud)

Dan*_*man 5

你真的不是很节省,但我想你想要这个:

qs = Stuff.objects.filter(**{type: id})
Run Code Online (Sandbox Code Playgroud)