5
Czy istnieje sposób, aby przekazać listę pól do pobrania przez QuerySet.values(). Mam model i chcę przy różnych okazjach odzyskać różne zestawy pól.Prześlij listę pól do QuerySet.values ()
Czy istnieje sposób, aby przekazać listę pól do pobrania przez QuerySet.values(). Mam model i chcę przy różnych okazjach odzyskać różne zestawy pól.Prześlij listę pól do QuerySet.values ()
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ść).
Genialny! Czy możesz krótko wyjaśnić, dlaczego * tu pracuje? – alexsalo
@alexsalo Jest to wbudowana funkcja pytona. W mojej odpowiedzi dodałem link do dokumentów. – dokkaebi