2016-10-02 2 views
0

Ich muss den Wert des ID-Felds aus jeder Modellinstanz im Abfragesatz extrahieren. Was ist effizienter - Iterieren durch Abfrage-Set mit der Verwendung von List Verständnis oder Werteliste Methode mit flachen Argument auf True gesetzt und dann in Liste konvertiert?Werteliste vs. Iteration

Antwort

1

values_list wird leistungsfähiger sein, da nur die angeforderten Felder aus der Datenbank abgerufen werden und Modellinstanzen nicht instanziiert werden.

Zitiert die Django documentation:

Es ist nützlich, wenn Sie wissen, dass Sie nur von einer kleinen Anzahl der verfügbaren Felder müssen Werte gehen, und Sie werden die Funktionalität eines Modellinstanz-Objekt nicht benötigen. Es ist effizienter, nur die Felder auszuwählen, die Sie verwenden müssen.