如何在odoo中存储这种类型的值?

时间:2016-03-07 05:50:44

标签: python xml openerp

我有以下要求

class a:
   _name='a'
   _columns={
         'store'=fields.one2many('b','link1','History'),
       }
class b:
   _name='b'
   _columns={
           'name'=fields.char('Employee Names'),
           'age'=fields.char('Age'),
           'link1': fields.many2one('a','Link'),
   }

此模块包含one2many字段,其中包含两个字段' name',' age' 。此值由以下模块存储

class y:
   _name='y'
   _columns={
        'detail': fields.one2many('z','link','Details'),
     }

class z:
    _name='z'
    _columns={
          'name1': fields.char('Name'),
          'age2': fields.char('Age'),
          'link': fields.many2one('y','Link'),
       }

在这个模块中,我将存储几个名字和年龄。我想在这个模块中有一个按钮,它具有将此值存储到' 模块的功能.Data必须追加跟踪历史记录

1 个答案:

答案 0 :(得分:1)

要将值存储到a模型,您必须create它们。

def track(self, cr, uid, ids, context=None):
  values = []
  for obj in self.browse(cr, uid, ids, context):
     for line in obj.detail:
        values.append([0, 0, {'name': line.name1,
                              'age':line.age2,                                                
                              'link1': line.link.id}
                      ])
     self.pool.get('a').create(cr, uid, {'store': values})