Jor*_*elf 2 python loops openerp
我正在学习开发OpenERP模块,我需要做的一件事是计算用户所有输入的平均值.
我的想法是循环记录,同时保持总和和计数,然后取平均值,但我似乎无法理解如何访问表中total每条记录的字段值sim.students
这是我的代码的一部分
def get_text(self, cr, uid, ids, fields, arg, context):
result = {}
i = 0
for id in ids:
print self.browse(cr,uid,id,['total'])
print id
i = i+1
print i
return result
Run Code Online (Sandbox Code Playgroud)
但是打印的结果self.browse(cr,uid,id,['total'])让我回归,browse_record(sim.student, 3)而不是总数本身.
我知道这一定非常简单,但我似乎无法弄清楚如何达到这个价值.
任何提示非常感谢
所以这就是我从这里得到的:
browse(cr ,uid, select, context=None, list_process=None, fields_process=None)
Run Code Online (Sandbox Code Playgroud)
哪里:
cr = database cursor
uid = user id
select = id or list of ids
context = context arguments like lang, time zone
Run Code Online (Sandbox Code Playgroud)
它返回一个对象,其中所有字段都可以用点表示法访问.所以你可以这样做:
records = self.browse(cr, uid, ids)
for rec in records:
print rec.total
print rec.otherfield
Run Code Online (Sandbox Code Playgroud)
或者如果你喜欢列表推导:
records = self.browse(cr, uid, ids)
totals = [rec.total for rec in records]
average = sum(totals)/len(totals)
Run Code Online (Sandbox Code Playgroud)