gpt4 book ai didi

python - Odoo错误,伙伴不能关注同一个对象两次

转载 作者:行者123 更新时间:2023-11-28 22:13:54 24 4
gpt4 key购买 nike

This is the error I'm getting当我尝试复制一组记录时收到此 odoo 错误。我继承了当前类的['mail.thread', 'ir.needaction_mixin']。我没有在网上、我自己或 odoo 找到任何解决方案。仍然停留在这里大约四天。

任何人都可以对此有想法吗?目前我正在使用 Odoo 10。

添加的代码如下:

@api.model
def create(self, vals):
res = super(StaffKPI, self).create(vals)

fol = {}
fol['res_model'] = 'staff.kpi'
fol['res_id'] = res.id
fol['partner_id'] = res.name_id.partner_id.id
fol_id = self.env['mail.followers'].create(fol)
self._cr.execute(
'INSERT INTO mail_followers_mail_message_subtype_rel (mail_followers_id, mail_message_subtype_id) values (%s, %s)',
(fol_id.id, 2))
self._cr.execute(
'INSERT INTO mail_followers_mail_message_subtype_rel (mail_followers_id, mail_message_subtype_id) values (%s, %s)',
(fol_id.id, 1))

subtypes = self.env['mail.message.subtype'].search([('res_model', '=', 'staff.kpi')]).ids
if subtypes:
for i in subtypes:
self._cr.execute(
'INSERT INTO mail_followers_mail_message_subtype_rel (mail_followers_id, mail_message_subtype_id) values (%s, %s)',
(fol_id.id, i))
old_name = res.name
res.write({'name': ''})
res.write({'name': old_name})
return res

最佳答案

您应该使用mail.thread 的内置函数来添加关注者。您应该始终避免使用直接查询!

下面的代码将涵盖follower和子类型的添加(我不明白最后写的name):

@api.model
def create(self, vals):
res = super(StaffKPI, self).create(vals)
subtype_ids = self.env['mail.message.subtype'].search(
[('res_model', '=', 'staff.kpi')]).ids
res.message_subscribe(
partner_ids=[res.name_id.partner_id.id],
subtype_ids=subtype_ids)
# other logic
return res

关于python - Odoo错误,伙伴不能关注同一个对象两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53667363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com