如何使用fields.function?

时间:2016-01-05 08:11:50

标签: python openerp

您能通过此代码帮助我了解Field.function的功能和工作吗?

'progress': fields.function(_hours_get, string='Working Time Progress (%)', multi='hours', group_operator="avg", help="If the task has a progress of 99.99% you should close the task if it's finished or reevaluate the time",
                store = {
                    'project.task': (lambda self, cr, uid, ids, c={}: ids, ['work_ids', 'remaining_hours', 'planned_hours', 'state', 'stage_id'], 10),
                    'project.task.work': (_get_task, ['hours'], 10),
                }),

我需要了解它们。 希望得到回应。 谢谢&最诚挚的问候

1 个答案:

答案 0 :(得分:0)

我将给你一个简单的例子来理解Field.function。

例:

    def _check_bool(self, cr, uid, ids, field_name, arg, context):
       res={}
       for req in self.browse(cr, uid, ids, context=context):
          if req.bool:
                res[req.id] = True
          else:
                res[req.id] = False
       return res

    _columns = {
       'bool' : fields.boolean(),
       'check_bool': fields.function(_check_bool, type="boolean", obj="generic.request", method=True),
    }

_check_bool 功能会检查字段' bool' 是否为True,并对字段' check_bool&进行相同操作#39; 如果您有问题可以帮助您,代码很容易出现。