📅  最后修改于: 2023-12-03 15:35:55.275000             🧑  作者: Mango
在Odoo 8中,我们可以在视图中使用“字段”属性来定义哪些列应该显示在网格视图中。默认情况下,Odoo会为每个包括在“字段”属性中的列生成一个列树,使用户能够按列进行排序和分组。然而,有时我们可能希望禁用该行为,以便用户无法对网格视图中的列进行任何更改。这可以通过以下步骤完成:
首先,在网格视图的xml定义中,我们需要定义要显示的每列,方法是将它们包括在“字段”属性中,如下所示:
<tree>
<field name="name"/>
<field name="date"/>
<field name="amount"/>
</tree>
然后,在我们的Python模型中,我们需要为每个包含在视图的“字段”属性中的列定义一个列树,如下所示:
class MyModel(models.Model):
_name = 'my.model'
_description = 'My Model'
name = fields.Char(string='Name')
date = fields.Date(string='Date')
amount = fields.Float(string='Amount')
_order = 'name, date, amount'
# Define the column tree for each field
_group_by = {
'name': 'name',
'date': 'date:date',
'amount': 'amount:sum',
}
此代码片段为名为“MyModel”的模型定义了三个字段,即“名称”,“日期”和“金额”,并包括了对这些字段的排序定义。
要禁用列树,我们只需要将“_group_by”属性设置为空字典即可:
class MyModel(models.Model):
_name = 'my.model'
_description = 'My Model'
name = fields.Char(string='Name')
date = fields.Date(string='Date')
amount = fields.Float(string='Amount')
_order = 'name, date, amount'
# Disable column tree
_group_by = {}
现在,在打开网格视图时,用户将无法看到任何列树,并且不能对列进行排序或分组。
以上就是如何在Odoo 8中禁用列树的方法。