在 Odoo 8 ORM api 中,如何使用 search() 以相反的顺序获取结果?

In Odoo 8 ORM api , how to get results in reverse order using search()?

我尝试使用 search() 从 http 控制器中的 table 获取数据。

 x = obj.search(cr, uid, criteria, offset=0,limit=36,order=sortBy)

它 returns 一个数组,其中包含按 sortBy 排序的前 36 个项目的 ID,但始终以递增顺序排列。但是如何使用降序排列呢?

搜索

进行搜索 domain,returns 匹配记录的记录集。可以return匹配记录的子集(偏移量和限制参数)并进行排序(顺序参数):

语法:

search(args[, offset=0][, limit=None][, order=None][, count=False])

参数:

  • args -- 搜索域。使用空列表匹配所有记录。
  • offset (int) -- 要忽略的结果数(默认值:none)
  • limit (int) -- 最大记录数为return(默认:全部)
  • order (str) -- 排序字符串
  • count (bool) -- 如果为 True,则只计算 returns 匹配记录的数量(默认值:False)

Returns: Returns 条符合搜索条件的记录。

引发访问错误: 如果用户试图绕过访问规则以读取请求的对象。

您只需按以下方式按降序搜索即可。

    sortBy = "field_name desc"
     x = obj.search(cr, uid, criteria, offset=0,limit=36,order=sortBy)

    ###Or you can define directly
     x = obj.search(cr, uid, criteria, offset=0,limit=36,order='field_name desc')