2010-06-11 13 views
20

Ich habe gesehen, dass Anfragen wie:Wie man nur spezifische Spalten einer Tabelle in Django holt?

user = User.objects.all() or User.objects.filter(username = username) 

sogar alle Spalten der Tabelle holen, wenn wir alle Spalten nicht brauchen. Haben wir eine bessere Möglichkeit, eine Datenbankabfrage zu schreiben? und wenn ja, warum sehen wir diesen Code am häufigsten nicht?

Antwort

24

QuerySet.only() und QuerySet.defer() kann verwendet werden, um zu verfeinern, welche Felder das ORM ziehen wird, wobei die anderen verzögert werden, bis auf die entsprechenden Attribute in den Modellen zugegriffen wird.

Verwandte Themen