1
Ich habe die folgenden Modelle:Django ORM komplexe Abfrage
class Invoice(models.Model):
amount = models.DecimalField()
date = models.DateTimeField()
class InvoiceItem(models.Model):
invoice = models.ForeignKey(Invoice)
description = models.CharField(max_length=256)
amount = models.DecimalField()
class PaymentDistribution(models.Model):
item = models.ForeignKey(invoiceItem)
amount = models.DecimalField()
select a.id,
a.amount,
a.amount-coalesce(sum(b.amount),0) as to_pay
from invoiceitems as a
left join paymentdistribution as b
on (a.id=b.invoiceitem_id)
group by a.id, a.amount
order by to_pay desc
Dies ist eine einfache Rechnung-Elemente-Struktur. Ich möchte eine Zahlung auf mehrere Artikel verteilen und die Verteilung der Zahlungen verfolgen können. Die SQL-Abfrage liefert mir eine Liste von Artikeln, die ich bezahlen kann, und den maximalen Betrag, den ich bezahlen kann. Gibt es eine Möglichkeit, die gleiche Abfrage mit reinem ORM anstelle von Raw SQL durchzuführen? Ich versuche, rohes SQL zu vermeiden.
Fantastisch, kurz und süß, wie ein Zauber funktioniert, danke! –