Skip to Content
Menu
This question has been flagged
1 Reply
2550 Views

I've created a wizard and i need to load one2many field lines in the wizard form view when click on the wizard button.

any idea

Avatar
Discard
Best Answer

Override default_get method of your wizard and prepare the o2m lines data to show the lines when you open a wizard.

Ex:


class WizMain(models.Model):
_name = 'wiz.main'

lines = fields.One2many('wiz.line', 'wiz_id')

def default_get(self, fields_list):
result = super(WizClassName, self).default_get(fields_list)
order = self.env['sale.order'].browse(self._context.get('active_id'))
# Prepare o2m lines data
lines = []
for line in order.order_line:
lines.append((0, 0, {'product_id': line.product_id.id, 'qty': line.product_uom_qty}))
result.update({'lines': lines})
return result


class WizLine(models.Model):
_name = 'wiz.line'

wiz_id = fields.Many2one('wiz.main')
product_id = fields.Many2one('product.product')
qty = fields.Float()


Avatar
Discard
Related Posts Replies Views Activity
3
Nov 23
30512
4
Dec 18
4158
2
Dec 23
17059
6
Apr 18
20404
5
Dec 23
17703