Is there a way I can pass a list of fields to be retrieved by the QuerySet.values(). I have a model and I want to retrieve different sets of fields from it on different occasions.
1 Answer
You can use the * operator to expand a list out into separate arguments when passed to a function, as described here in the Python tutorial.
>>> qs = User.objects.all()
>>> values = ['first_name', 'email']
>>> qs.values(*values)
yields
[{'first_name': u'aaaa', 'email': u'[email protected]'},
{'first_name': u'', 'email': u'[email protected]'},
{'first_name': u'', 'email': u'[email protected]'},
'...(remaining elements truncated)...']
(I further truncated the output for brevity).