我正在学习开发OpenERP模块,我需要做的一件事就是计算用户所有输入的平均值。
我的想法是在保持总和和计数的同时循环记录,然后取平均值,但我似乎无法理解如何为total
字段中的每个记录访问sim.students
字段的值{1}}表
以下是我的代码的一部分
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
但是打印self.browse(cr,uid,id,['total'])
的结果会返回browse_record(sim.student, 3)
而不是总数本身。
我知道这一定非常简单,但我似乎无法弄清楚如何达到这个价值。
任何提示非常赞赏
答案 0 :(得分:5)
所以这是我从here得到的:
browse(cr ,uid, select, context=None, list_process=None, fields_process=None)
其中:
cr = database cursor
uid = user id
select = id or list of ids
context = context arguments like lang, time zone
它返回一个对象,其中所有字段都可以用点表示法访问。所以你可以这样做:
records = self.browse(cr, uid, ids)
for rec in records:
print rec.total
print rec.otherfield
或者如果您喜欢列表推导:
records = self.browse(cr, uid, ids)
totals = [rec.total for rec in records]
average = sum(totals)/len(totals)