Python Django计算含税总价

Python Django计算含税总价,python,django,calculator,Python,Django,Calculator,我的数学现在有点糟糕。实际上,我有一个简单的计算,需要为我的发票应用程序完成 这些模型是: class Product(models.Model): name = models.Charfield(max_lenght=50) price = models.DecimalField(decimal_places=2, max_digits=10) tax = models.PositiveIntegerField() Class Invoice(models.Model

我的数学现在有点糟糕。实际上,我有一个简单的计算,需要为我的发票应用程序完成

这些模型是:

class Product(models.Model):
    name = models.Charfield(max_lenght=50)
    price = models.DecimalField(decimal_places=2, max_digits=10)
    tax = models.PositiveIntegerField()

Class Invoice(models.Model):
    client = models.ForeignKey(Client)
    date = models.DateField()


class Specification(models.Model):
    invoice = models.ForeignKey(Invoice)
    product = models.ForeignKey(Invoice)
    timestamp = models.DateTimeField(auto_now_add=True)

我需要有一个干净的方法来计算产品的总价格+税收,以显示在InvoiceDetail模板。计算此值的最佳方法是什么?

您可以使用
价格
税收
执行加法,然后
合计
结果作为总计

>>> from django.db.models import F, Sum
>>> Product.objects
      .filter(your_filter_here)
      .aggregate(total=Sum(F('price') + F('tax')), output_field=FloatField())

Output
total: 12345.67

您可以使用
price
tax
执行加法,然后
aggregate
将结果作为总计

>>> from django.db.models import F, Sum
>>> Product.objects
      .filter(your_filter_here)
      .aggregate(total=Sum(F('price') + F('tax')), output_field=FloatField())

Output
total: 12345.67

谢谢你的回答。我最终自己想出了一个解决方案,虽然我不知道它是最好的。我在产品模型中添加了一个额外字段,用于计算产品价格,包括储蓄税。然后在规范模型中,我实际上需要添加一个数量字段和两个额外字段。一个存储无税总价*数量的字段和一个存储含税总价*数量的额外字段。在我看来,a只是做了一个for循环,不断地把价格加起来,Hi Manu,你是怎么做到的?这一切都是在模型中完成的。py@ManuFebie这可以在view.py级别完成,但是最好在模型上使用稍微不同的语法。谢谢您的回答。我最终自己想出了一个解决方案,虽然我不知道它是最好的。我在产品模型中添加了一个额外字段,用于计算产品价格,包括储蓄税。然后在规范模型中,我实际上需要添加一个数量字段和两个额外字段。一个存储无税总价*数量的字段和一个存储含税总价*数量的额外字段。在我看来,a只是做了一个for循环,不断地把价格加起来,Hi Manu,你是怎么做到的?这一切都是在模型中完成的。py@ManuFebie这可以在view.py级别完成,但是最好在模型上使用稍微不同的语法