Effizienteste Weg, um die Liste der Werte von Django Queryset

Können, sehe ich durchaus ein paar verschiedene Möglichkeiten, dies zu tun und würde gerne ein feedback über die effizientesten oder 'best-practice' - Methode.

Bekomme ich eine Django-Queryset mit filter()

c_layer_points = models.layer_points.objects.filter(location_id=c_location.pk,season_id=c_season.pk,line_path_id=c_line_path.pk,radar_id=c_radar.pk,layer_id__in=c_layer_pks,gps_time__gte=start_gps,gps_time__lte=stop_gps)

Diese queryset könnte sehr groß sein (Hunderte von tausenden von Zeilen).

Nun, was geschehen muss, ist eine Umstellung auf Listen und Codierung JSON.

Optionen (die ich gesehen habe in meinen Recherchen):

  1. Schleife über die queryset

Beispiel:

gps_time = [lp.gps_time for lp in c_layer_points];
twtt = [lp.twtt for lp in c_layer_points];
  1. - Werte() oder values_list()
  2. Verwenden iterator()

Am Ende würde ich gerne codieren als json, so etwas wie dieses format:

{'gps_time':[list of all gps times],'twtt',[list of all twtt]}

Irgendwelche Tipps, der beste Weg, dies zu tun, wäre toll, Danke!

Warum würden Sie nicht einfach tun, die Messungen selbst? import datetime; start = datetime.time(); <do your stuff> end = datetime.time(); print(end-start)
Ich habe und werde dies auch weiterhin tun. Allerdings wollte ich einen von den anderen zu fühlen, was "best practice" wäre hier. Vor allem, da ein paar der Optionen sind fast die gleichen von einer Effizienz-Standpunkt aus.

InformationsquelleAutor | 2013-06-07

Schreibe einen Kommentar