Odoo开发之消息通知

Posted by Ethan on 2019-08-28

添加社交网络功能

社交网络模块 (技术名称mail) 提供留言板功能和关注的特征,以及消息和通知功能。
社交网络邮件功能由mail.thread模型的mail模块提供。要将其添加到自定义的模型,我们需要执行以下操作︰

  • 依赖mail模块
  • 继承mail.thread
  • 将关注者和线程小部件添加到form视图
  • 为关注者设置记录规则
  1. 在我们模块的__manifest__.py清单文件中添加对mail的依赖︰
1
'depends': ['base', 'mail'],
  1. 使用我们以前使用的_inherit属性继承mail.thread
1
2
_name = "book.rent.return"
_inherit = 'mail.thread'

mail.thread是一种抽象的模型。抽象的模型和普通模型类似,只是他们没有数据库表示;也没有实际的表。抽象的模型不是直接使用。相反,他们都是被混合使用。我们可以将它们看作模板与准备使用的功能。若要创建一个抽象类,我们只需要在创建模块时,使用models.AbstractModel替代models.Model

  1. 我们在Form视图的底部添加社交网络部件。通过扩展原视图的方式添加。我们使用view_form_todo_task_inherited继承已经创建的视图,并其arch数据块中添加以下内容︰
1
2
3
4
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
</div>

在这里添加的两个字段未被我们进行显式声明,他们由mail.thread模型声明的。