跳至內容
選單
此問題已被標幟
1 回覆
18618 瀏覽次數

I have got a dropdown showing lot numbers in Manufacturing picking operations. The problem is I do not want to show the lot numbers having no product i.e. 0 quantity. I have created another selection field and populated the lot numbers dynamically, however I am getting a list attribute error while populating dropdown:

AttributeError: 'list' object has no attribute 'get'

Here is the model selection field and code to populate it:

@api.onchange('location_id')
def _fetch_non_empty_lots(self):
 lots = [] 
 quants = self.env['stock.quant'].search([('location_id.id','=',self.location_id.id), 
 ('product_id.id', '=', self.product_id.id), ('quantity', '>', 0)]) 
 for quant in quants: 
    lots.append((str(quant.lot_id.id),str(quant.lot_id.display_name)))
 return lots 
x_lot_id = fields.Selection(selection="_fetch_non_empty_lots", name="Non Empty Lots")
## declare field

When the list is empty, there is no error. When there is non-empty lot then I am getting the eror. Ineed some assistance.

頭像
捨棄
最佳答案

Try removing the .id on your search parameters for the 'stock.quant' recordsets.

Like this:

quants = self.env['stock.quant'].search([('location_id','=',self.location_id.id), 
 ('product_id', '=', self.product_id.id), ('quantity', '>', 0)])
頭像
捨棄
作者

it doesn't work .. the issue is with what I am returning i.e. list

相關帖文 回覆 瀏覽次數 活動
2
12月 22
23888
1
10月 19
5638
1
8月 19
3640
3
11月 23
17207
0
11月 23
2181