4

我正在尝试在 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)]
        )

日志

сту 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, package) сту 19 16:20:46 PK odoo[20993]: File "/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]:TypeError:模型“my.skype”继承自不存在的模型“mail.thread”。- - -

4

1 回答 1

12

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

于 2019-01-21T09:01:15.050 回答