Я создал метод, который перебирает все заказы pos, чтобы получить данные оттуда, чтобы использовать их в отчете, мне нужно отобразить эти данные в поле One2many. Перед его печатью я много пытаюсь, но данные, созданные в модель и не отображается в текущем поле
вот что я сделал,
data = fields.One2many(comodel_name="onepos.report.line", inverse_name="report", string="", required=False, )
def getreport(self):
data = self.env['pos.order'].search([])
datas=[]
pos_dict= {}
report= self.env['onepos.report.line'].search([])
for rec in data:
con = rec.config_id.name
for line in rec.lines:
if con in pos_dict.values():
print('hiiiiiiiiiii')
# total_sales = pos_dict[rec.config_id.name]
total_sales += line.price_subtotal_incl
res = {
'total': total_sales,
'pos': con,
}
datas.append(res)
else:
total_sales = line.price_subtotal_incl
res2 = {
'total': total_sales,
'pos': con,
}
datas.append(res2)
if datas:
print(len(datas), )
print(datas, )
cntr = defaultdict(Counter)
for d in datas:
cntr[d['pos']].update(d)
datas = [dict(v, **{'pos': k}) for k, v in cntr.items()]
report.create(datas)
это связанная модель
class reporttotalline(models.Model):
_name = 'onepos.report.line'
pos = fields.Char(string="", required=False, )
total = fields.Char(string="", required=False, )
report = fields.Many2one(comodel_name="onepos.report", string="", required=False, )
как я могу обновить поле в текущая форма?