此代码仅创建一条记录。怎么了?
class PartnerTagCreate(models.TransientModel):
""" Choose tags to be added to partner."""
_name = 'partner.tags.create'
_description = __doc__
market_id = fields.Many2one('partner.tags', string='Market Tag')
application_id = fields.Many2one('partner.tags', string='Application Tag')
partner_id = fields.Integer()
@api.multi
def create_contact_tag(self):
for record in self.env['sale.order.line'].browse(self._context.get('active_ids', [])):
vals = {}
vals['partner_id'] = record.order_partner_id
self.write(vals)
return True
在打开向导之前,我需要此功能为我选择的每个order_partner_id
创建一条记录...
如何实现?
这是我的新代码(函数)...
def create_contact_tag(self):
sale_order_line_ids = self.env['sale.order.line'].browse(self._context.get('active_ids', []))
for partner in sale_order_line_ids:
values = {}
values['partner_id'] = partner.order_partner_id
self.create(values)
return {}
这将为marketing_id和/或application_id创建一个记录,并为记录中的每个partner_id创建专用记录。
答案 0 :(得分:0)
您使用'create'方法创建新记录; TransientModel与持久性模型相同。 因此,替换
self.write(vals)
作者
self.create(vals)
你应该没事。