我需要使用与另一个表有很多关系的类别表过滤我的查询。是否可以使用 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(多人)