0

我无法理解 Odoo API 的行为。这让我疯狂。

您可能知道,如果您想按模型的某些字段对模型进行排序,则必须修改_order模型的属性。它工作正常。

现在,假设您想在不改变模型的正常顺序的情况下按某些字段对特定视图进行排序(这意味着:按某些字段对特定视图进行排序,而按其他字段对同一模型的其余视图进行排序)。

在这种情况下,您必须使用 XML 代码,default_orderkanbanortree标记中指定属性,具体取决于您正在修改的视图。

我过去成功地使用过这个。所以我想再次将它应用到看板视图(这次我想通过一个布尔字段、一个char和另一个char进行排序)。

现在我很惊讶:如果值为 ,则按布尔False字段排序会反转下一个字段的顺序。

例如,我们有 6 条记录,我们想按布尔值、姓名和姓氏排序;在看板视图中default_order

  • 真的,约翰,多伊
  • 真的,简,母鹿
  • 真的,约翰,Xoe
  • 假,约翰,死
  • 假的,简,死
  • 假,简,谢

因此,在示例中,在看板视图中,我们将看到它们以这种方式排序:

  1. 真的,简,母鹿
  2. 真的,约翰,多伊
  3. 真的,约翰,Xoe
  4. 假,约翰,死
  5. 假,简,谢
  6. 假的,简,死

如您所见,如果是 boolean values True,则记录按booleannamesurname排序,这就是我想要的。但如果它的值False,则记录按布尔值名称 DESC姓氏 DESC排序。

这是怎么回事?你有同样的经历吗?我怎样才能按boolean排序,然后是char,然后是另一个char

4

1 回答 1

1

我用来进行奇怪排序的一种方法是使用上下文来控制它。在看板视图的窗口操作中,添加一个上下文,如

<field name="context">{'do_my_special_sort': True}</field>

然后在模型上,覆盖搜索方法,在上下文中检查此标志并设置排序顺序。

于 2015-06-16T21:25:52.063 回答