1
たとえば、私はそこにいくつかの行を持つDICTデータを持っています。私は他のモデルのレコード行を更新したい、私はこのコードを使用します。他のモデルのレコードにはいくつかの行があり、DATASから新しい行を追加したい。私のコードは既にそこにある行を上書きします。上書きしないで、既存の行にどのように追加できますか?上書きせずに行を追加する
あなたはどのx2many
フィールド上
write
を実行しているとき、あなたは「これはそのフィールドにあるべき唯一のものです。何かを消去します。」と言っている
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
'service_ids'フィールドの定義もできますか? – tidylobster
更新された元の投稿 – Chaban33
まだ、私は 'service_ids = fields。 'について質問しています。? – tidylobster