У меня есть веб-форма с более чем одним полем выбора, которое принимает различные значения. Как мне сохранить их в поле one2many в веб-контроллере?
Вот скриншот того, что я пытаюсь сделатьдостижения
Я хочу иметь возможность хранить те записи, которые пользователь заполняет в поле store_line
class CreateRequest(models.Model):
_name = 'store.request'
_inherit = 'mail.thread'
reference = fields.Char(default=lambda self: _('New'),)
request_date = fields.Date()
approve_date = fields.Date()
refuse_request = fields.Char()
amount_transfers = fields.Integer(compute='_compute_count_transfers')
amount_rfq = fields.Integer(compute='_compute_count_rfq')
transfered = fields.Boolean(default=False)
rfq = fields.Boolean(default=False)
section = fields.Many2one('hr.employee.category', domain=[('display_req',
'=', True)])
# request_by = fields.Many2one('hr.employee', related='section.category_ids')
request_by = fields.Many2one('hr.employee', domain=[('category_ids', '=', 'section')])
store_line = fields.One2many('store.request.line', 'number',
string='Store Request', copy=True,
index=True)
Этомой веб-контроллер
@http.route('/page/store_submit_form', auth='user', website=True)
def submit_form(self, **kw):
logging.info(kw)
# i = 0
# for key in kw:
# i
# logging.info(key)
# logging.info(kw[key])
section = kw['section']
employee_id = kw['requested_by']
date = kw['date']
product_id = kw['product']
logging.info(product_id)
description = kw['desc']
quantity = kw['quantity']
uom_id = kw['uom']
lines = [(0, 0, {
'name': int(product_id),
'description': description,
'quantity': int(quantity),
'unit_of_quantity': uom_id
})]
exp_sheet_model = http.request.env['store.request']
date = datetime.strptime(date, '%Y-%m-%d %H:%M:%S').date()
data = {
'section': section,
'request_by': employee_id,
'request_date': date,
'is_webform': True,
'store_line': lines,
'state': 'draft'
}
logging.info(data)
exp_sheet_model.sudo().create(data)
Я получаю значения в переменной строк