假设我有一个字段称为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