我正在开发一个连接到Odoo的c#应用程序,应该获取/写入一些数据。我使用了ooojsonrpclient库:
https://github.com/Intechnity-com/OdooJsonRpcClient
一切正常。但是我有一个连接到一个表的问题。在PostgreSQL中,它的名称为"res_partner_res_partner_category_rel"。正如我在文档中看到的,我们应该使用与数据库中相同的名称,但要替换"_"带有"。"的符号。但在这个表的情况下当我试图获取/设置数据并使用"res。partner。res。partner。category。rel"ooojsonrpclient返回当前表在数据库中不存在的错误。
为什么会发生?我如何在Odoo中找到所有表名的正确名称才能使用它们?
有些表是自动生成的,您可能不得不猜测哪个模型使用这些生成的表实现了一个字段。在你的例子中,这是模型res.partner
和res.partner.category
之间的多对多关系。此关系仅在res.partner
模型中作为字段实现,在res.partner.category
模型中不实现。
您找到的表是多对多关系的典型关联表。这些表的名称通常以_rel
结尾。
res.partner
上使用所有字段(空列表/数组)或category_id
字段创建read
。您应该得到表res_partner_category
的id列表/数组(如果有关系)。
表名是为res.partner
模型上的category_id字段自动生成的,如果它在模型列表(env.keys()
)中不可用,则不能在orm
方法中使用
要获得与一个合作伙伴相关的类别列表,必须查询ras.partner
模型以获得category_id
字段值,Odoo将返回一个类别IDS列表作为列表