Openerp 添加行而不覆盖现有行

Openerp 添加行而不覆盖现有行,openerp,odoo-8,odoo-9,Openerp,Odoo 8,Odoo 9,例如,我有DICT数据,其中有一些行。我想更新其他模型中的记录行,并使用此代码。其他模型记录有一些行init,我想从数据中添加新行。我的代码只是覆盖了已经存在的行。如何添加到现有行而不覆盖 datas = safe_eval(self.datas) domain = [('quatation_id', '=', self.id)] shoes = self.env['shoes.order'].search(domain, limit=1) for line in datas['line

例如,我有DICT数据,其中有一些行。我想更新其他模型中的记录行,并使用此代码。其他模型记录有一些行init,我想从数据中添加新行。我的代码只是覆盖了已经存在的行。如何添加到现有行而不覆盖

 datas = safe_eval(self.datas)
 domain = [('quatation_id', '=', self.id)]
 shoes = self.env['shoes.order'].search(domain, limit=1)
 for line in datas['lines']:
                    line = line and line[2]
                    vals = {
                        u'product_id': line.get('product_id'),
                        u'amount_total': line.get('price'),

                    }

                shoes.service_ids.write(vals)



class ShoesOrderService(models.Model):
    _name = 'shoes.order.service'
    _rec_name = 'product_id'

    product_id = fields.Many2one(
        'product.product', 'Service',
        domain=[('type', '=', 'service')],
    )
    price = fields.Float()
    order_id = fields.Many2one(
        'shoes.order', 'Shoes Order')

 class ShoesOrder(models.Model):

_name = 'shoes.order'

 service_ids = fields.One2many(
    'shoes.order.service', 'order_id', string='Additional Services',
    copy=True

当您在任何
x2many
字段上运行
write
时,您的意思是“这是该字段上唯一应该显示的内容。请删除任何其他内容。”

您希望添加其他行,因此必须使用填充字段


您还可以提供
服务\u id
字段的定义吗?更新了原始postStill,我问的是
服务\u id=字段。?
再次更新。现在应该好了。
shoes.service_ids = [(4, {ID of record to link})]