Ich habe diese beiden Modelle, die ich gerne die Summe zurückgeben würde. Ich erhalte einen Datenbankfehler bezüglich der Unterabfrage, die mehr als eine Zeile zurückgibt. Was wäre der beste Weg, beides zu vergleichen, ohne eine For-Anweisung zu verwenden?Django Queryset vergleichen zwei verschiedene Modelle mit mehreren Zeilen
AuthorizationT(models.Model)
ar_id = models.BigIntegerField(blank=True, null=True)
status_flag = models.BigIntegerField(blank=True, null=True)
BillT(models.Model)
paid_id = models.BigIntegerField(blank=True, null=True)
recvd = models.FloatField(blank=True, null=True)
Abfrage habe ich versucht,
paidbill= BillT.objects.values_list('paid_id', flat=true)
AuthorizationT.objects.values().filter(ar_id=paidbill, status_flag=0).aggregate(Sum('recvd'))
In SQL weiß ich es
select sum(recvd) from authorization_t a, bill_t b where a.ar_billid0= b.paid_id and a.status_flag=0
wäre ich für das Äquivalent in queryset suchen
Ich denke, das Problem hier wäre Aggregat wird nicht arbeiten, weil das Feld Teil des Modells 'BillT' ist. Das Problem stammt von der ursprünglichen Abfrage – Aditya