django - 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”
我在这里想念什么?
解决方案
self.contrato.all() 是一个空的查询集吗?如果是,您永远不会进入循环,也永远不会设置“ret”变量。
推荐阅读
- amazon-web-services - How to keep column names using AWS DMS with S3 as a target?
- angular - TypeError:无法读取未定义的属性“标题”-帮帮我:(
- selenium - 发送关于 testSuite 完成的 emailable.html testNG 报告总是发送旧报告
- c# - 如果文件名前缀则跳过,如果不添加前缀
- laravel - Laravel 中的路由在生产模式下不起作用
- node.js - 每个 axios 请求在 react-redux 应用程序中触发两次?
- spring - 如何使用 Spring 发送 BufferedImage?
- r - 如何在不更新现有软件包的情况下安装软件包
- postgresql - Postgresql Foreign data wrapper error 如果服务器不请求密码,则非超级用户无法连接
- javascript - 取消从链接中的 onClick 触发的 javascript 函数