2016-05-27 6 views
0

Wie man eine mehrspaltige Gruppe von in Django durchführen?
Ich habe nur Beispiele für eine Spaltengruppe nach.
Unten ist die Abfrage, die ich versuche, zu Django ORM zu konvertieren.Django Orm Gruppe von mehreren Spalten

SELECT order_id,city,locality,login_time,sum(morning_hours),sum(afternoon_hours),sum(evening_hours),sum(total_hours) 
FROM orders 
GROUPBY order_id,city,locality,login_time` 

Antwort

3
from django.db.models import Sum 
Your_Model.objects.values('order_id', 'city', 'locality', 'login_time').order_by().annotate(sum('morning_hours'), sum('afternoon_hours'), sum('evening_hours'), sum('total_hours')) 

Ich hoffe, dass der oben genannte Code-Schnipsel hilft (Während der Beantwortung ich hatte keine Ahnung, ob Morgenstunden, Nachmittagsstunden, etc. abgeleiteten Spalten oder vorhandene Felder in der Tabelle, weil Sie nichts von dem angegebenen sortiere in deiner Frage, also habe ich meine Vermutung gemacht und deine Frage beantwortet). Für die Gruppierung nach mehreren Spalten existiert bereits eine Frage zu SO. Siehe hierzu link.

+0

Danke, es hat mein Problem gelöst –