通过 Odoo XML-RPC API 和 false 检索模型字段

Retrieving model fields via Odoo XML-RPC API and false

我成功地从“ir.models”及其字段“ir.model.fields”中检索了模型,因为 documented using a Java XML-RPC client. However, the store field of a model fields confuses me. It is often false, e.g. for fields of model res.users like phone, email, zip etc and only a few like login and create_date have it set to true. Is that intended? I mean - according to documentation - store=false 标记了计算字段,但我仍然可以设置 email 通过 API.

创建 res.users 记录时

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

那是因为你与 res.users 的继承情况很有趣。

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

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

对于您的示例,logincreate_date 是真实的 res.users 字段,因此它们存储在 res_users table 中。但是 phoneemailzip 以及更多的 res.partner 字段存储在 table res_partner.