将字段列表传递给QuerySet.values()

shr*_*eyj 8 django django-queryset

有没有办法可以传递QuerySet.values()要检索的字段列表.我有一个模型,我想在不同的场合从中检索不同的字段集.

dok*_*ebi 24

您可以使用*运营商传递给函数时,展开列表分成不同的参数,如描述这里在Python教程.

>>> qs = User.objects.all()
>>> values = ['first_name', 'email']
>>> qs.values(*values)
Run Code Online (Sandbox Code Playgroud)

产量

[{'first_name': u'aaaa', 'email': u'a@b.com'}, 
 {'first_name': u'', 'email': u'abc@def.com'}, 
 {'first_name': u'', 'email': u'abcd@gmail.com'},
 '...(remaining elements truncated)...']
Run Code Online (Sandbox Code Playgroud)

(为了简洁,我进一步截断了输出).