2

私はOpenERPモジュールの開発を学んでおり、私がする必要があることの1つは、ユーザーからのすべての入力の平均を計算することです。

私の考えは、合計とカウントを維持しながらレコードをループしてから平均を作成することでしたが、テーブル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

しかし、印刷の結果は、合計ではなく、self.browse(cr,uid,id,['total'])私に返されます。browse_record(sim.student, 3)

これは本当に単純なことだと思いますが、その値に到達する方法がわからないようです。

どんなヒントも大歓迎

4

1 に答える 1

5

だからこれは私がここから得たものです:

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)
于 2013-02-13T01:36:05.787 に答える