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

时间:2013-02-13 01:02:59

标签: python loops openerp

我正在学习开发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)而不是总数本身。

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

任何提示非常赞赏

1 个答案:

答案 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)