如何在Odoo 13的甘特/树形视图中实现按多对多字段分组?
求助:在Odoo 13中添加“按多对多字段分组”功能
背景说明
我了解到Odoo 15的树形视图与甘特视图已支持按多对多字段分组的功能,效果如下:
我在Odoo 15的代码中找到了该功能的核心实现片段:
web模块 groupby_menu.js 中的字段验证逻辑
_validateField(field) { return (field.type === "many2many" ? field.store : field.sortable) && field.name !== "id" && GROUPABLE_TYPES.includes(field.type); }
web_gantt模块 gantt_model.js 中的分组处理逻辑
const isM2MGrouped = this.ganttData.fields[groupedByField].type === "many2many"; let groupedRecords; if (isM2MGrouped) { groupedRecords = {}; for (const [key, currentGroup] of Object.entries(currentLevelGroups)) { groupedRecords[key] = []; const value = currentGroup[0][groupedByField]; for (const r of records || []) { if ( !value && r[groupedByField].length === 0 || value && r[groupedByField].includes(value[0]) ) { groupedRecords[key].push(r) } } } } else { groupedRecords = groupBy(records || [], groupedByField); }
问题
请问如何在Odoo 13中正确实现该功能?是否有对应的现成模块可以直接使用?
内容的提问来源于stack exchange,提问作者Ahrimann Steiner
相关产品推荐
相关产品推荐

