首页 > 解决方案 > “mail_message”表中的 Odoo 8“message_id”列

问题描述

我正在用 python 编写一个外部应用程序,它使用 odoo 中的消息系统。所以,我需要使用 mail_message 和 mail_notification 表。

我尝试通过 INSERT 将元素单独放入表格中,填充必要的元素以使其正常工作,并且它运行良好,消息出现在 Odoo 消息的“收件箱”中,并且通知显示正确。

但是检查此表中的其余字段,我看到 message_id 有一个标记格式(在 <> 之间)和一系列数字(我没有发现任何相关性),然后是“-openerp-'res_id'-'模型'-@'公司'”。

所以,我不知道如何填写这个字段,我的证明确定这不是一个必要的字段,但在认真的实施中,我不知道这个字段是否留空会导致一些问题。

任何人都可以解释我这个字段的原因以及如何填写它?

谢谢

标签: odoo-8odoo

解决方案


您可以检查 tools/mail.py 中的代码并执行类似的操作

def generate_tracking_message_id(res_id):
    """Returns a string that can be used in the Message-ID RFC822 header field

       Used to track the replies related to a given object thanks to the "In-Reply-To"
       or "References" fields that Mail User Agents will set.
    """
    try:
        rnd = random.SystemRandom().random()
    except NotImplementedError:
        rnd = random.random()
    rndstr = ("%.15f" % rnd)[2:]
    return "<%.15f.%s-openerp-%s@%s>" % (time.time(), rndstr, res_id, socket.gethostname())

推荐阅读