如何在openerp模块开发中使用create和write函数?

时间:2013-07-26 03:40:05

标签: python eclipse openerp

您好我一直在创建自定义openerp-7模块。我创建了2个表单,父表单和子表单。我通过按钮从父表单调用子表单。子表单中有2个字段,我想将字段数据保存到父表单中。我应该使用什么功能将数据保存到父窗口。

希望提出建议

1 个答案:

答案 0 :(得分:1)

所以,如果我理解你,你有一个包含字段的子表单/模型,你想将几个字段的值保存到父模型中吗?

在这种情况下,您将覆盖create和write方法,如下所示:

def write(self, cr, uid, ids, values, context = None):
   res = super(MyChildClass, self).write(cr, uid, ids, values, context = context)
   if 'child_field' in values:
      for child_item in self.browse(cr, uid, ids, context = context):
          self.pool.get('my.parent.model').write(cr, uid, [child_item.parent_id.id], {'parent_field': values['child_field'],}, context = context) 

   return res

从记忆中走出去,但我认为这是对的。请注意,如果他们正在更改子字段,则只想写入父级。创建大致相同,除非您没有获得正在编写的子项的ID列表。