跳至内容
菜单
此问题已终结
1 回复
3325 查看

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

形象
丢弃
最佳答案

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()


形象
丢弃
相关帖文 回复 查看 活动
3
11月 23
32258
4
7月 25
4867
2
12月 23
17659
6
4月 18
21332
5
12月 23
18218