Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
6 Trả lời
42187 Lượt xem

Currently I use this syntax:

purchase_line_obj = self.pool.get('purchase.order.line')
purchase_line_ids = purchase_line_obj.search(cr, uid, [('id','>',0)])
for purchase_line in purchase_line_obj.browse(cr, uid,  purchase_line_ids,context=context):

I have tried to pass None or 0 to the ids in the 'browse' call to no avail. Is there any way to obtain all the records from 'browse' without having to pass the list of all id's?

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hi This is not a good idea to place id > 0 , actually there will be no 0 for IDs in database, database provide only numeric value for record ids

just do this way:

  purchase_line_obj = self.pool.get('purchase.order.line')
  purchase_line_ids = purchase_line_obj.search(cr, uid, [])   
      for purchase_line_id in purchase_line_ids :
          line=purchase_line_obj.browse(cr, uid,purchase_line_id ,context=context)
          print line.name

Thanks
Sandeep

Ảnh đại diện
Huỷ bỏ
Tác giả

Thanks, I was hoping that there would be a way to skip the 'search' step and get all the records from the 'browse'method, but this way is at least cleaner

Câu trả lời hay nhất

Hi

New API example is:

                order_object = self.env['sales.order']

                order_object_ids = order_object.search(['condition'])

                if order_object_ids:

                     for obj in order_object_ids:

                          order_line = order_object.browse(obj.id)

Ảnh đại diện
Huỷ bỏ

Thank you, that helped me with new API.

Câu trả lời hay nhất

Hi, If you want to get all the purchase order lines related to a purchase order and you have the purchase order id then

po_pool = self.pool.get('purchcase.order')
for po_obj in po_pool.browse(cr, uid, ids,context):
    print 'purchase order>>>>',po_obj.name
    for po_line in po_obj.order_line:#order_line is the field name of purchase order line model in purchase order model
        print 'purchase order line :::',po_line.name
Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hi,

For example display name for all lines :

purchase_line_obj = self.pool.get('purchase.order.line')
purchase_line_ids = purchase_line_obj.search(cr, uid, [('id','>',0)])
for purchase_line in purchase_line_ids :
    line=purchase_line_obj.browse(cr, uid,  purchase_line,context=context)
    print line.name

Thanks.

Ảnh đại diện
Huỷ bỏ
Tác giả

Thanks, but that's how I currently do it. The question was if there's a way to get all the records from an object without calling passing their ids's and therefore avoid a call to the search method

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 8 22
2857
1
thg 3 15
4667
2
thg 8 23
2087
2
thg 12 15
4688
2
thg 10 15
9073