2016-04-13 13 views
0

My RelatedModel hat ein Fremdschlüsselfeld, das auf ein Objekt zeigt. Ich versuche die Anzahl der RelatedModel s pro Product UUID zu zählen.Kommentieren Sie eine values ​​() - Abfrage in Django

RelatedModel.objects.all().values(fk_product__uuid).annotate(total=Count('id')) 

Das gibt mir:

[ 
{'total': 3, 'fk_product__uuid': UUID('195b6aa8-6a57-62c6-89d1-3397bf69d928')}, 
{'total': 7, 'fk_product__uuid': UUID('2a6a6a98-1a17-4cca-8111-2212b951003a')}, 
... 
] 

Ich würde es vorziehen, dass nur mein UUID Schlüssel „uuid“ genannt werden, aber ich Schwierigkeiten mit annotate immer auf der Rückseite Beziehung zu arbeiten. Gibt es eine Möglichkeit, dies ohne Nachbearbeitung der Liste zu tun?

+0

Oh toll! Danke Shang, ich habe nicht nach "umbenennen" gesucht, sondern einfach "kommentieren". Die Antwort ist 'django.db.models.F' zu verwenden – Escher

Antwort

0

Als Referenz-Vorschlag folgende Shangs (getestet und funktioniert):

q = Product_r.objects.all().annotate(uuid=F('fk_product__uuid')).values('uuid').annotate(total=Count('id')).order_by('total')