假設我有一個字段稱爲isbn
上stock_move
,該字段是Boolean
類型的,我可以創建一個方法,與域濾波器,這將帶來所有stock_move
對象,與('isbn', '=', 'True'),
,並反映在另一場指算來,像這樣:具體過濾器和計算方法映射方案 - Odoo V8
@api.multi
@api.depends('stock_move')
def _compute_amount_total(self):
draft_orders = self.env['stock.move'].search([('isbn', '=', True)])
product_uom_qty = sum(draft_orders.mapped('product_uom_qty'))
for record in self:
record.total_isbn = product_uom_qty
所以,到目前爲止,這是一個很好的做法,但現在,假設我想這樣做,但不是所有的stock_moves
其中isbn
字段被檢查,但只爲stock_moves
我打電話從我們說4 Many2one
個領域中的典範,即:
stock_move1 = fields.Many2one('stock.move', string="My Stock Move 1")
stock_move2 = fields.Many2one('stock.move', string="My Stock Move 2")
stock_move3 = fields.Many2one('stock.move', string="My Stock Move 3")
stock_move4 = fields.Many2one('stock.move', string="My Stock Move 4")
我雖然可以調用isbn
場在我的模型是這樣的:
stock_move1 = fields.Many2one('stock.move', string="My Stock Move 1")
isbn1 = fields.Boolean(string="ISBN 1", related="stock_move1.isbn")
stock_move2 = fields.Many2one('stock.move', string="My Stock Move 2")
isbn2 = fields.Boolean(string="ISBN 2", related="stock_move2.isbn")
stock_move3 = fields.Many2one('stock.move', string="My Stock Move 3")
isbn3 = fields.Boolean(string="ISBN 3", related="stock_move3.isbn")
stock_move4 = fields.Many2one('stock.move', string="My Stock Move 4")
isbn4 = fields.Boolean(string="ISBN 4", related="stock_move4.isbn")
這應該帶給他們,但實際上我不希望向他們展示或任何在我看來,只讀4 stock_moves
尋找isbn = True
和總和product_uom_qty
在他們身上。
我希望我已經解釋了我自己。
關於如何完成這個任何想法?
你能解釋一下你在短句中究竟需要什麼 – Cherif
嗨,我需要總結一下stock_moves中的所有product_uom_qty字段,這些字段在我的表單/視圖中由這些many2one字段帶來,並將結果存儲在一個字段中,如果有,顯示結果,如果我選擇所有4,則總結這四個stock_move中的所有四個product_uom_qty。 – NeoVe
因此,用戶選擇select stock.move,然後計算數量總和 – Cherif