2012-10-05 8 views

Odpowiedz

14

Możesz użyć operatora *, aby rozwinąć listę na oddzielne argumenty po przekazaniu do funkcji, jak opisano w here w samouczku Python.

>>> qs = User.objects.all() 
>>> values = ['first_name', 'email'] 
>>> qs.values(*values) 

daje

[{'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 dalej skrócone wyjście na zwięzłość).

+0

Genialny! Czy możesz krótko wyjaśnić, dlaczego * tu pracuje? – alexsalo

+0

@alexsalo Jest to wbudowana funkcja pytona. W mojej odpowiedzi dodałem link do dokumentów. – dokkaebi

Powiązane problemy