Я пытаюсь распечатать вид мастера формы отчета, отчет получает данные из метода, который возвращает список словарей, все, что мне нужно, чтобы обновить строки поля one2many с теми же данными из метода отчета, чтобы отобразить данные перед нажатием print, это метод
@api.multi
def product_summary(self,date_from, date_to):
product_summary_dict = {}
data = []
if date_from and date_to:
order_detail = self.env['pos.order'].search([('date_order', '>=',date_from),
('date_order', '<=', date_to)])
if order_detail:
for each_order in order_detail:
for each_order_line in each_order.lines:
if each_order_line.product_id.name in product_summary_dict:
product_qty = product_summary_dict[each_order_line.product_id.name]
product_qty += each_order_line.qty
total_sales = each_order_line.price_unit * product_qty
res1= {
"name": each_order_line.product_id.name,
"sold_qty": product_qty,
"price_unit": each_order_line.price_unit,
'total_sales': total_sales,
}
data.append(res1)
else:
product_qty = each_order_line.qty
total_sales = each_order_line.price_unit * product_qty
product_summary_dict[each_order_line.product_id.name] = product_qty;
res2 = {
"name": each_order_line.product_id.name,
"sold_qty": product_qty,
"price_unit": each_order_line.price_unit,
'total_sales': total_sales,
}
data.append(res2)
if data:
datas = list({v['name']: v for v in data}.values())
print(len(datas))
print(datas)
return datas
else:
return {}
Мне нужно обновить это поле
invoice_line_ids = fields.One2many('acc.lines', 'req_ref', string='Bill Lines',
copy=True)
которое получает свои значения из этой модели
class reportline(models.TransientModel):
_name = 'report.line'
name = fields.Char(string="", required=False, )
sold_qty = fields.Char(string="", required=False, )
price_unit = fields.Char(string="", required=False, )
total_sales = fields.Char(string="", required=False, )
report = fields.Many2one(comodel_name="pos.reports", string="", required=False, )
как обновить поле формируется описанным выше способом
заранее спасибо