我无法理解Odoo API的行为。它让我发疯了。
如您所知,如果您想通过某些字段订购模型,则必须修改模型的属性_order
。它工作正常。
现在,假设您想要按某些字段排序特定视图而不更改模型的正常顺序(这意味着:按某些字段排序特定视图,其他字段排序同一模型的其余视图)。
在这种情况下,您必须使用XML代码,在default_order
或kanban
标记中指定属性tree
,具体取决于您要修改的视图。
我过去曾成功地使用过它。所以我想再次将它应用于看板视图(这次我想通过布尔字段, char 和另一个 char )进行排序
现在我很惊讶:按布尔字段排序如果值为False
,则会反转下一个字段的顺序。
例如 我们有6条记录,我们要按布尔,名称和姓氏排序;在default_order
的看板视图中:
因此,在示例中,在看板视图中,我们会看到它们以这种方式订购:
如您所见,如果布尔值为True
,则记录按布尔,名称和姓氏排序,这就是我想要的。但如果值为False
,则记录按布尔,名称DESC ,姓氏DESC 排序。
发生了什么?你有同样的经历吗?我如何通过布尔,然后是 char ,然后是另一个 char ?
来订购答案 0 :(得分:1)
我用来奇数排序的一种方法是使用上下文来控制它。在看板视图的窗口操作中,添加类似
的上下文<field name="context">{'do_my_special_sort': True}</field>
然后在模型上覆盖搜索方法,在上下文中检查此标志并设置排序顺序。