Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
3391 Lượt xem

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

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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


Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
What is wizard ? Đã xử lý
3
thg 11 23
32463
4
thg 7 25
4923
2
thg 12 23
17736
6
thg 4 18
21417
5
thg 12 23
18279