2016-07-23 40 views
4

Ich versuche, eine Aggregation Frage an achive und das ist mein Code:Django-Aggregation - Ausdruck enthält gemischte Typen. Sie müssen gesetzt output_field

TicketGroup.objects.filter(event=event).aggregate(
          total_group=Sum(F('total_sold')*F('final_price'))) 

I ‚total_sold‘ und ‚final_price‘ in TicketGroup bezwecken und alles, was ich Summe tun möchte, ist und sich vermehren Werte, um die Summe aller TicketGroups zu erhalten.

Alles, was ich bekommen, ist dieser Fehler:

Expression contains mixed types. You must set output_field

Was ich tue, falsch, da ich total_group 'als meine Ausgabefeld bin Aufruf?

Danke!

Antwort

7

Von output_field Django bedeutet, Feldtyp für das Ergebnis der Sum bereitzustellen.

total_group=Sum(F('total_sold')*F('final_price'), output_field=FloatField()) 

sollte den Trick tun.

+0

Vielen Dank! Es funktioniert jetzt :) – Lara

+0

Für diejenigen, die sich fragen: von django.db.models FloatField importieren –