joh*_*shu 5 xml python-3.x odoo odoo-11
我正在尝试在CRM模块的机会部分对客户进行分组。
我想在上分组客户/机会industry
。
我已经使用过类似的代码res.partner
,但我无法解决这一问题!
models.py
x_industry_id = fields.Many2one(string="Industry", comodel_name="res.partner")
Run Code Online (Sandbox Code Playgroud)
views.xml
<record id="view_crm_case_opportunities_filter_inherit" model="ir.ui.view">
<field name="name">crm.lead.search.opportunity</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.view_crm_case_opportunities_filter"/>
<field name="arch" type="xml">
<xpath expr="//search" position="inside">
<filter name="x_industry_id" string="Industry" context="{'group_by':'x_industry_id'}" domain="[('industry_id','!=', False)]"/>
</xpath>
</field>
</record>
Run Code Online (Sandbox Code Playgroud)
对于使用相同方法的过滤器和其他组,我也遇到相同的问题。
它们只是看起来不正常!
如何将群组和过滤器应用于不同的模型
删除domain
参数,然后将过滤器放入group
标记的search
标记中,因为您尝试创建一个组,而不是域过滤器:
<record id="view_crm_case_opportunities_filter_inherit" model="ir.ui.view">
<field name="name">crm.lead.search.opportunity</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.view_crm_case_opportunities_filter"/>
<field name="arch" type="xml">
<xpath expr="//search/group" position="inside">
<filter name="x_industry_id" string="Industry" context="{'group_by':'x_industry_id'}"/>
</xpath>
</field>
</record>
Run Code Online (Sandbox Code Playgroud)
在search
视图中,有三种过滤器:
按文本过滤:允许用户将字段与某些文本进行比较,并找到与表达式匹配的记录。他们使用field
标记或参数,例如filter_domain
或operator
,等等(例如:)<field name="lost_reason"/>
。
按域过滤:允许用户单击您创建的过滤器,仅查看与您指定的域匹配的记录。他们使用filter
标记和domain
参数以及其他参数(例如:)<filter string="My Pipeline" name="assigned_to_me" domain="[('user_id', '=', uid)]" help="Opportunities that are assigned to me"/>
。
按组过滤:允许用户按字段对记录进行分组。它们group
位于搜索视图中的标记内,使用filter
标记和context
参数(带有键group_by
),以及其他参数(例如:)<filter string="Salesperson" context="{'group_by':'user_id'}"/>
。
所以我认为您正在混合两种过滤器。这就是为什么您应该删除domain
。
当然,请检查是否已crm
在__manifest__.py
文件中添加了依赖性,并在此之后重新启动了Odoo服务(更新模块)。
归档时间: |
|
查看次数: |
226 次 |
最近记录: |