2012-10-05 9 views

Respuesta

14

Puede usar el operador * para expandir una lista en argumentos separados cuando se pasa a una función, como se describe en here en el tutorial de Python.

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

produce

[{'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 truncada aún más la salida por razones de brevedad).

+0

Brilliant! ¿Podría explicar brevemente por qué * funciona aquí? – alexsalo

+0

@alexsalo Esa es una función incorporada de python. He agregado un enlace a los documentos en mi respuesta. – dokkaebi

Cuestiones relacionadas