尝试使用mail_thread时Odoo继承错误

Sab*_*abr 4 python python-3.x odoo odoo-12

我正在尝试在 odoo 中制作一个通知应用程序,它将向用户发送邮件。我找到了文档https://www.odoo.com/documentation/12.0/reference/mixins.html,但是当我尝试启动 odoo 时,我收到错误不存在的模型“mail.thread”。我该如何解决这个问题?

模型.py:

class skype_bot(models.Model):
    _name = 'my.skype'
    _inherit = ['mail.thread']
    _description = 'My Skype'

    # class MySkype(skpy.SkypeEventLoop):
    #     def onEvent(self, event):
    #         if isinstance(event, skpy.SkypeNewMessageEvent):
    #             print(repr(event))
    #             message = ('New message from user {} at {}: \'{} \''.format(event.msg.userId,
    #                                                                         event.msg.time.strftime(
    #                                                                             '%H:%M dd. %d.%m.%Y'),
    #                                                                         event.msg.content))

    @api.one
    def SentMail(self, message):
        print('called function sentmail')
        self.env['mail.message'].create({'message_type': 'notification',
                                         'subtype': self.env.ref('mail.mt_comment').id, 
                                         'body': message,
                                         'subject': 'Message subject',
                                         'needaction_partner_ids': [(4, 3)],

                                         })


        self.message_post(
            subject='Skype message',
            body=message,
            partner_ids=[(4, 3)]
        )
Run Code Online (Sandbox Code Playgroud)

日志

???19 16:20:46 PK odoo[20993]:文件“/opt/odoo/odoo/odoo/modules/loading.py”,第417行,在load_modules中
???19 16:20:46 PK odoo[20993]:强制、状态、报告、loaded_modules、update_module、models_to_check)
???19 16:20:46 PK odoo[20993]:文件“/opt/odoo/odoo/odoo/modules/loading.py”,第313行,在load_marked_modules中
???19 16:20:46 PK odoo [20993]:perform_checks=perform_checks,models_to_check=models_to_check
??? 19 16:20:46 PK odoo[20993]:文件“/opt/odoo/odoo/odoo/modules/loading.py”,第188行,在load_module_graph中???19 16:20:46 PK odoo [20993]:model_names = registry.load(cr,包)???19 16:20:46 PK odoo[20993]:文件“/opt/odoo/odoo/odoo/modules/registry.py”,第240行,加载中
???19 16:20:46 PK odoo [20993]: 模型 = cls._build_model(self, cr)
??? 19 16:20:46 PK odoo [20993]:文件“/opt/odoo/odoo/odoo/models.py”,第 458 行,在 _build_model
???19 16:20:46 PK odoo[20993]: raise TypeError("模型 %r 继承自不存在的模型 %r。" % (name, parent))
??? 19 16:20:46 PK odoo[20993]:类型错误:模型“my.skype”继承自不存在的模型“mail.thread”。- - -

小智 12

您需要在您的模块中,在清单.py 中添加以下依赖项: 'depends' : ['mail'], 因为您试图从插件的 'mail' 模块继承(mail.thread 位于此模块上) )。基本没有安装这个模块。所以你试图从一个不存在的模型继承,直到你安装这个模块。我建议您使用取决于使用其他模型的所有模块(继承模型/视图)。在这种情况下,您将不会再收到任何此类错误。祝你好运!