通过 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
。我无法将 false
的 boolean
ttyped 字段值与其未设置的值区分开来?
那是因为你与 res.users
的继承情况很有趣。
此模型通过在模型定义中使用 _inherits = {'res.partner': 'partner_id'}
符号来嵌入合作伙伴。在数据库中,您将有两个 table:res_users
和 res_partner
。它们之间的关系是由外键 partner_id
in table res_users
.
但是在 python 方面,这种继承将导致模型 res.users
也将具有 res.partner
模型的所有字段。 odoo 将模型 res.users
记录的 res.partner
字段标记为未存储,因为它们存储在另一个模型 table.
中
对于您的示例,login
和 create_date
是真实的 res.users
字段,因此它们存储在 res_users
table 中。但是 phone
、email
和 zip
以及更多的 res.partner
字段存储在 table res_partner
.
中
我成功地从“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
。我无法将 false
的 boolean
ttyped 字段值与其未设置的值区分开来?
那是因为你与 res.users
的继承情况很有趣。
此模型通过在模型定义中使用 _inherits = {'res.partner': 'partner_id'}
符号来嵌入合作伙伴。在数据库中,您将有两个 table:res_users
和 res_partner
。它们之间的关系是由外键 partner_id
in table res_users
.
但是在 python 方面,这种继承将导致模型 res.users
也将具有 res.partner
模型的所有字段。 odoo 将模型 res.users
记录的 res.partner
字段标记为未存储,因为它们存储在另一个模型 table.
对于您的示例,login
和 create_date
是真实的 res.users
字段,因此它们存储在 res_users
table 中。但是 phone
、email
和 zip
以及更多的 res.partner
字段存储在 table res_partner
.