2

我成功地从“ir.models”及其字段“ir.model.fields”检索模型,如使用 Java XML-RPC 客户端记录的那样。但是,store模型领域的领域让我感到困惑。它通常是false,例如模型字段,例如res.usersphoneemailzip只有少数喜欢login并将create_date其设置为true。这是故意的吗?我的意思是 - 根据文档-store=false标记计算字段,但我仍然可以在通过 APIemail创建记录时进行设置。res.users

另外,我想知道为什么未设置的字段值false通过 XML-RPC 表示。我无法将booleanttyped 字段值false与其未设置值区分开来?

4

1 回答 1

1

那是因为你有一个有趣的继承情况res.users

_inherits = {'res.partner': 'partner_id'}通过在模型定义中使用符号,此模型具有嵌入式伙伴。在数据库中,您将有两个表:res_usersres_partner. 它们之间的关系是由partner_id表中的外键建立的res_users

但是在 python 方面,这种继承将导致一个模型res.users也将具有模型的所有字段res.partner。odoo 将res.partner模型res.users记录的字段标记为未存储,因为它们存储在另一个模型表中。

对于您的示例,login并且create_date是真实res.users字段,因此它们存储在res_users表中。但是phoneemail还有zip更多是res.partner字段并存储在表中res_partner

于 2021-02-11T09:27:52.083 回答