django-不支持的操作数类型/:'十进制'并且'漂浮'

时间:2015-10-26 04:49:01

标签: python django

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']))

它会报告错误,例如"全局名称'十进制'未定义"

请告诉我如何解决这个问题,非常感谢~~~

1 个答案:

答案 0 :(得分:3)

您已导入:

from decimal import Decimal

但你正在使用:

... ['sales__sum']/decimal(contex...

Python区分大小写,因此您的范围内没有 d