【问题标题】:Odoo 10 - XMLRPC - Use external XML identifierOdoo 10 - XMLRPC - 使用外部 XML 标识符
【发布时间】:2018-03-15 19:35:38
【问题描述】:

我正在通过 XMLRPC 创建一条新记录。

具体来说,我想在crm.lead 中填充字段team_id

我想使用 sales_team.salesteam_website_sales(即外部 XML ID)而不是数字 2(即常规 ID)填充该字段。

是否可以使用 XMLRPC create,如果可以,我应该使用什么?

Odoo 公元 10 年

【问题讨论】:

    标签: python odoo xml-rpc odoo-10 xmlrpclib


    【解决方案1】:

    看看ir.model.data这个方法:

    @api.model
    def _get_id(self, module, xml_id):
        """Returns the id of the ir.model.data record corresponding to a given module and xml_id (cached) or raise a ValueError if not found"""
        return self.xmlid_lookup("%s.%s" % (module, xml_id))[0]
    

    可以用来替换self.env.ref的功能。

    从 XMLRPC 调用它(发送模块名称和 XML ID 作为参数),它将返回具有该 XML ID 的记录在数据库中的 ID。将该 ID 存储在一个变量中,并使用该变量填充 team_id

    XMLRPC 代码会因您使用的编程语言(Pyhon、PHP、Ruby 或 Java)而异。

    编辑

    正如 @Naglis 所说,我建议您的方法行不通,因为它是私有方法。使用公开的xmlid_to_res_id 来实现您所需要的。

    【讨论】:

    • 不幸的是,私有模型方法(以下划线开头)不能通过 XML/JSON RPC 调用。 [1],[2]。建议在ir.model.data 模型上使用xmlid_to_res_id
    • 我没有意识到这一点,所以@Naglis 提供了正确的答案。感谢您的信息,我将编辑答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    相关资源
    最近更新 更多