首页 > 解决方案 > UnboundLocalError - 赋值前引用的局部变量 'ret'

问题描述

我做了一个简单的方法来计算两个值之间的除法:

def porc_pago_ct(self, *args, **kwargs):
    for contrato in self.contrato.all():
        if contrato.nr_contrato != None:
            ret = (float(contrato.total_pago_brl)/float(self.valor_total_brl))*100
        else:
            ret = 0
    return ret

在我提出这个条件语句之前,一切都很好。在此之后我尝试了很多方法,但每次我得到:

/lista/2/ 处的 UnboundLocalError

赋值前引用的局部变量“ret”

我在这里想念什么?

标签: djangodjango-modelsmethodsdjango-rest-framework

解决方案


self.contrato.all() 是一个空的查询集吗?如果是,您永远不会进入循环,也永远不会设置“ret”变量。


推荐阅读