2015-09-30 15 views
6

Tôi cố gắng sử dụng search() để tìm nạp dữ liệu từ bảng trong bộ điều khiển http.Trong Odoo 8 ORM api, cách lấy kết quả theo thứ tự ngược lại bằng cách sử dụng tìm kiếm()?

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

Nó trả về một mảng chứa các id của 36 hạng mục đầu ra lệnh bởi sortBy nhưng luôn luôn theo thứ tự tăng. Nhưng làm thế nào để làm cho nó bằng cách sử dụng thứ tự giảm?

Trả lời

12

Tìm kiếm

Mất một tìm kiếm domain, trả về một recordset các hồ sơ phù hợp. Có thể trả về một tập hợp con của phù hợp với hồ sơ (bù đắp và các thông số giới hạn) và được đặt hàng (tham số thứ tự):

Cú pháp:

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

Tham số:

  • args - Một miền tìm kiếm . Sử dụng danh sách trống để khớp với tất cả các bản ghi.
  • bù đắp (int) - số lượng kết quả để bỏ qua (mặc định: không có)
  • hạn (int) - số lượng tối đa của hồ sơ để trở lại (mặc định: tất cả)
  • trật tự (str) - loại chuỗi
  • đếm (bool) - nếu Đúng, chỉ đếm và trả về số lượng hồ sơ phù hợp (mặc định: False)

Trả về: Trả về các bản ghi khớp với các tiêu chí tìm kiếm tối đa.

Tăng AccessError: nếu người dùng cố bỏ qua các quy tắc truy cập để đọc trên đối tượng được yêu cầu.

Bạn chỉ cần tìm kiếm theo cách sau với thứ tự giảm dần.

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') 
Các vấn đề liên quan