如何解决如何通过向导中的新值更新我的 one2many
我想通过我的向导中出现的新数据更新我的 stock.move 数据我做了这段代码,但由于帮助我,它不起作用:
class StockPickingSplitWizard(models.TransientModel):
_name = "stock.picking.split.wizard"
line_ids = fields.One2many('stock.picking.split.wizard.line','wizard_id',string='Lines')
====== 这是获取当前值的默认函数==========
@api.model
def default_get(self,fields):
ctx = self.env.context.copy()
picking_ids = ctx.get('active_ids',[])
stock_picking_obj = self.env['stock.picking']
lines = []
for picking in stock_picking_obj.browse(picking_ids):
for move in picking.move_lines:
lines.append({
'product_id': move.product_id.id,'location_id': move.location_id.id,'location_dest_id': move.location_dest_id.id,'move_id': move.id,'product_uom_qty': move.product_uom_qty,'product_uom': move.product_uom.id
})
defaults = super(StockPickingSplitWizard,self).default_get(fields)
defaults['line_ids'] = lines
return defaults
======这是我在向导中更新旧的功能 ======
@api.multi
def action_transferer(self):
ctx = self.env.context.copy()
picking_ids = ctx.get('active_ids',[])
stock_picking_obj = self.env['stock.picking']
for line in self.line_ids:
for picking in stock_picking_obj.browse(picking_ids):
for move in picking.move_lines:
move.update({
'product_id': line.product_id.id,'location_id': line.location_id.id,'location_dest_id': line.location_dest_id.id,'product_uom_qty': line.product_uom_qty,})
move.action_assign()
class StockPickingSplitWizardLine(models.TransientModel):
_name = 'stock.picking.split.wizard.line'
move_id = fields.Many2one('stock.move','Stock Move')
product_id = fields.Many2one('product.product','Article')
product_uom_qty = fields.Float(u'Quantité',digits_compute=dp.get_precision('Product Unit of Measure'))
location_id = fields.Many2one('stock.location','Source Location',select=True)
location_dest_id = fields.Many2one('stock.location','Destination Location',required=True)
product_uom = fields.Many2one('product.uom','Unit of Measure',required=True)
wizard_id = fields.Many2one('stock.picking.split.wizard','Wizard')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。