Jinja ошибка при попытке запустить шаблон мако в Odoo
Я получил эту ошибку при попытке запустить этот отчет, который написан в шаблоне mako:
Encountered unknown tag 'total_price'. Jinja was looking for the following tags: 'endfor' or 'else'. The innermost block that needs to be closed is 'for'.
<class 'jinja2.exceptions.TemplateSyntaxError'>,Encountered unknown tag 'total_price'. Jinja was looking for the following tags: 'endfor' or 'else'. The innermost block that needs to be closed is 'for'.,<traceback object at 0x02F2F490>
В openerp 7 он работал нормально, но в odoo 8 не работал.
<% total_price = 0.0 %>
%for line_container_ids in shipping.container_line_ids:
<%
total_price = line_container_ids.product_qty * line_container_ids.net_price
curr = line_container_ids.currency_id.name
%>
% endfor
1 ответ
Решение
Начиная с Odoo V8 вам нужно изменить используемый синтаксис, и кажется, что с jinja2 делать такие вещи очень сложно. Вот пример, протестированный с заказом на продажу в Odoo V9:
% set total_price = []
% for line in object.order_line:
% if total_price.append(line.price_subtotal)
% endif
% endfor
${sum(total_price)}