Ich habe eine Haupttabelle, die einen Fremdschlüssel an seine Kindtabelle übergibt. Ich möchte eine Liste aller Elemente aus der Haupttabelle mit der Summe der Spalten anzeigen, die aus der untergeordneten Tabelle stammen.Django: Summe der Spalten der Kindtabelle mit eindeutigem Schlüssel, übergeben von Haupttabelle
Wie es in Django Queryset zu tun? Bitte helfen Sie.
Models.py
class serviceinvoice(models.Model):
user=models.ForeignKey(settings.AUTH_USER_MODEL,related_name='invoice')
invoice_number=models.PositiveIntegerField()
#invoice_no = models.CharField(max_length = 500, default = increment_invoice_number, null = True, blank = True)
invoice_date = models.DateField()
invoice_receivable=models.ForeignKey(Receivables,null=True)
#total_amount=models.DecimalField(decimal_places=2,max_digits=20)
#total_amountwithtax=models.FloatField()
company_det=models.ForeignKey(Company,related_name='companydetails')
class Meta:
unique_together = (("user", "invoice_number"),)
ordering=('-invoice_number',)
def __str__(self):
return self.invoice_number
def get_absolute_url(self):
return reverse('invoice:editinvoice', args=[self.invoice_number])
class serviceinvoiceitems(models.Model):
user=models.ForeignKey(settings.AUTH_USER_MODEL,related_name='serviceinvoiceitem')
invoice_number=models.ForeignKey(serviceinvoice,related_name='serviceitems1')
Product=models.CharField(max_length=1000)
UOM=models.CharField(max_length=100)
Quantity=models.FloatField()
Rate=models.FloatField()
Tax_rate=models.FloatField()
Total_sale=models.FloatField()
Sales_tax=models.FloatField()
Total_billamount=models.FloatField()
def __str__(self):
return self.invoice_number
views.py
@login_required
def inv_list(request):
invoice_list=serviceinvoice.objects.filter(user=request.user)
totallist=serviceinvoice.objects.annotate(sum_list=Sum('serviceitems1__Total_sale'))
return render(request,'account/invoicelist.html',{'invoice_list':invoice_list,'totallist':totallist})
Bisher in Aussicht ich in der Lage bin für einen Benutzer Liste der Rechnungen zu filtern, aber wie kann ich total bekommen jeder Rechnung aus dem Teilmodell ie serviceinvoice items.
Versucht etwas und übergibt
{{ totallist.sum_list }}
in Vorlage, aber zeigt nichts.
Sie müssen mehr Details anzeigen. Wie sehen die Modelle aus? Was hast du bisher? –
@DanielRoseman aktualisierte Frage. –