1
我有,我想在同一视图中拔出子数据(相关的)一个基本的数据库:Django的子查询
models.py:
class InvoiceHeader(models.Model):
customer = models.CharField(max_length = 255)
number = models.IntegerField(unique = True)
class InvoiceLine(models.Model):
description = models.CharField(max_length = 255)
price = models.DecimalField(max_digits = 10, decimal_places = 2)
invoiceheader = models.ForeignKey(InvoiceHeader)
views.py:
def list_invoices(request):
invoices = InvoiceHeader.objects.all()
我想要得到的是list_invoices视图中的发票总计,它包含每个invoiceheader的invoicelines.price(总计),以便在模板中我可以放上:
{% for invoice in invoices %}
{{ invoice.subtotal }}
{% endfor %}
我认为这是与某些东西在models.py文件中做的事情,但我迷失了与此。
所以任何帮助将不胜感激。
感谢它的工作原理治疗。 我可以在熔炉中再添加一个问题: 如果我在invoiceline类中有另一个名为qty的字段,那么我可以使用相同的方法执行多次计算,如小计= SUM(数量*价格)? – ausi1972
不幸的不是。你需要用SQL来做,也许用'extra'方法。 –
我记得关于在models.py文件中放置一个def语句之前,它允许您定义一个可调用像get_invoice_total(request):subtotal = self.invoiceline.price * self.invoiceline.qty返回小计 – ausi1972