问题
I'm trying to send notification to employees, i created a computed many2many field to get the partners id and pass them to partner_ids field of the mail.wizard.invite model.
here is my inherited class:
from openerp import models, fields, api
class CustMailInvite(models.Model):
_inherit = 'mail.wizard.invite'
employee_ids=fields.Many2many('hr.employee','employees')
@api.one
@api.depends('employee_ids.user_id.partner_id')
def compute_partner_ids(self):
for a in self.employee_ids:
if a.user_id:
if a.user_id.partner_id:
self.partner_ids += a.user_id.partner_id.id
partner_ids=fields.Many2many('res.partner',compute='compute_partner_ids')
I'm getting this error:
ValueError
Mixing apples and oranges: res.partner() + 5
回答1:
# -*- coding: utf-8 -*-
from openerp import models, fields, api
class CustMailInvite(models.Model):
_inherit = 'mail.wizard.invite'
employee_ids=fields.Many2many('hr.employee','employees')
@api.one
@api.depends('employee_ids.user_id.partner_id')
def compute_partner_ids(self):
for a in self.employee_ids:
if a.user_id:
if a.user_id.partner_id:
self.partner_ids+=a.user_id.partner_id
partner_ids=fields.Many2many('res.partner',compute='compute_partner_ids')
the problem was in this line self.partner_ids+=a.user_id.partner_id.id, I changed to self.partner_ids+=a.user_id.partner_id
来源:https://stackoverflow.com/questions/36578587/mixing-apples-and-oranges-3-odoo8