我需要使用与另一个表有很多关系的类别表过滤我的查询。是否可以使用 many2many 关系过滤查询?
Tableres_partner
有 many2manycategory_id
与 table 相关的字段res_partner_category.res_partner
,或者说合作伙伴可以有很多类别。我需要的是过滤res_partners
具有“商业”或“零售”类别的表。如果它没有任何这些类别,则不应显示。
还有另一个领域res_partner
是category_value_ids
并且与 有one2many
关系res_partners_category_value
:
res_partner
具有以下具有关系的字段:
category_id
到res_partner_category
(many2many)category_value_ids
到res_partner_category_value
(one2many)name
(字符)
res_partner_category
具有以下具有关系的字段:
partner_ids
到res_partner
(many2many)name
(字符)
res_partner_category_value
具有以下具有关系的字段:
category_group_id
到res_partner_category
(many2one)category_id
到res_partner_category
(many2one)object_id
到res_partner
(many2one)
但是,如果我尝试res_partner_category_value
在 SQL 查询中使用表,则会收到无法在查询中使用它的错误。
例如,如果有 4 个合作伙伴属于这些类别:
- 第一个:categ1,categ2,业务
- 第二:零售
- 第三:零售、商业
- 第四:categ1,categ2
查询应返回第一、第二和第三伙伴。
一个人告诉我,不可能像这样使用 many2many 关系进行过滤。所以我想知道这真的不可能还是很复杂?
编辑:
我又发现了一张名为res_partner_category_rel
. 我没有看到它,因为在 Openerp 管理界面中,您可以看到数据库的所有对象,但没有显示该表。您只能通过数据库直接看到它。所以我对这个“缺失”的表感到困惑:
res_partner_category_rel:
partner_id
(多人)category_id
(多人)