Python 如何在openerp模块开发中使用create和write功能?

Python 如何在openerp模块开发中使用create和write功能?,python,eclipse,openerp,Python,Eclipse,Openerp,嗨,我一直在创建一个自定义openerp-7模块。我创建了两个表单,一个是父表单,一个是子表单。我通过一个按钮从父窗体调用子窗体。子窗体中有2个字段,我想将字段数据保存到父窗体中。我应该使用什么函数将数据保存到父窗口 希望得到建议如果我理解您的意思,您有一个带有字段的子表单/模型,您想将几个字段的值保存到父模型中吗 在这种情况下,您将重写如下创建和写入方法: def write(self, cr, uid, ids, values, context = None): res = super

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


希望得到建议

如果我理解您的意思,您有一个带有字段的子表单/模型,您想将几个字段的值保存到父模型中吗

在这种情况下,您将重写如下创建和写入方法:

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列表。

因此,如果我理解您的意思,您有一个带有字段的子表单/模型,并且您想将几个字段的值保存到父模型中吗

在这种情况下,您将重写如下创建和写入方法:

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列表。

您能解释一下这里的“子项字段”和“父项字段”是什么吗?我可以再次发布我的项目吗?因为没有父字段,除非有人在子窗体上设置值并点击按钮。当他创建一个字段时,只有在父窗体上才会出现一个字段。你能解释一下这里的“子字段”和“父字段”是什么吗?我可以再次发布我的项目吗?因为没有父字段,除非有人在子窗体上设置值并点击按钮。当他创建一个字段时,只有在父窗体上才会出现一个字段