如何循环和访问OpenERP中的字段值?

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)而不是总数本身.

我知道这一定非常简单,但我似乎无法弄清楚如何达到这个价值.

任何提示非常感谢

Rau*_*fio 5

所以这就是我从这里得到的:

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)