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

調べるフィールドがわかっているので、クエリを1回だけ使用するにはどうすればよいですか?このような:

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 に答える