models.py
sales=models.DecimalField(max_digits=12,decimal_places=3,blank=True,null=True)
total_asset=models.DecimalField(max_digits=12,decimal_places=3,blank=True,null=True)
asset_turnover=models.DecimalField(max_digits=12,decimal_places=3,blank=True,null=True)
views.py
def get_context_data(self, **kwargs):
context = super(DupontView, self).get_context_data(**kwargs)
context["sales"] = self.get_queryset().aggregate(Sum('sales'))
context["total_asset"] = self.get_queryset().aggregate(Avg('total_asset'))
context["asset_turnover"] = (context['sales']['sales__sum']/context['total_asset']['total_asset__avg'])
我尝试过这样的解决方案:
from decimal import Decimal
context["asset_turnover"] = "%.2f" % (context['sales']['sales__sum']/decimal(context['total_asset']['total_asset__avg']))
它会报告错误,例如"全局名称'十进制'未定义"
请告诉我如何解决这个问题,非常感谢~~~
答案 0 :(得分:3)
您已导入:
from decimal import Decimal
但你正在使用:
... ['sales__sum']/decimal(contex...
Python区分大小写,因此您的范围内没有 d 。