【发布时间】:2018-12-14 17:02:40
【问题描述】:
此代码仅创建一条记录。怎么了?
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 创建一个专用记录。
【问题讨论】:
-
代码看起来就像您只是“重写”了特定 TransientModel 的 partner_id。你不会在任何时候“创造”。
-
感谢您的帮助。我已经使用“create”对其进行了测试,它为我创建了一条记录,其中包含 market_id 和 application_id 以及 n 条选定记录的记录(在我的情况下为 sale.order.line)。我想有 n 条记录,其中包含 market_id、application_id 和 partner_id(每个 partner_id 一个记录,没有双重记录)。最好的问候,保罗
-
抱歉,新点我没完全理解,能不能针对新情况发个新问题?
-
我添加了我当前的代码...希望对您有所帮助。非常感谢您的帮助。