2017-09-24 3 views
0

Gibt es einen Mechanismus, um Django QuerySet-Elemente zuzuordnen, die nicht evaluation auslösen? Ich frage mich etwas wie Python map. Eine Funktion, die eine Funktion verwendet, um sie auf das QuerySet anzuwenden, aber die faule Auswertung beizubehalten.Karte (Funktion anwenden) Django QuerySet

Zum Beispiel, mit Modellen aus Django Dokumentation example, gibt es so etwas wie? (nicht realer Code):

>>> Question.objects.all().map(lambda q: q.pub_date + timedelta(hours=1)) 

was hält die faule Auswertung?

+2

Können Sie Ihre Frage mit ein bisschen mehr Details in ihr – iklinac

+0

Karte zu was? –

+0

Bitte überprüfen Sie die bearbeitete Frage. Vielen Dank. –

Antwort

0

können Sie values_list nutzen jede Spalte erhalten Sie mögen:

Question.objects.values_list('pub_date') 

Das ist einfacher als alles, was Sie selbst kochen können.

+0

Danke. Aber ich habe mich über etwas breiteres Gedankengut Gedanken gemacht, das nicht auf Modellfelder beschränkt ist. –

+0

Sie können jede Funktion wie 'map' verwenden, um über ein QuerySet zu iterieren und zu tun, was Sie möchten. Oder Sie können Dictionary/List Comprehensions verwenden, um Datenstrukturen zu erstellen. – tayfun

+0

Sicher, aber von dem, was ich verstehe, wird das Auswertung auslösen, oder? –