Уменьшить длину строки в qweb odoo

Как уменьшить длину строки в qweb?

Пример:

<p t-field="doc.name" />

return stackoverflow Я хочу удалить последние 8 символов и получить стек


person user_odoo    schedule 16.05.2017    source источник


Ответы (3)


Для строки вы можете использовать это:

<p><t t-esc="doc.name[:-8] if doc.name else ''"/></p>

Для значения с плавающей запятой попробуйте следующее:

<p><t t-esc="'%.2f'%(t.amount)"/></p>

Это напечатает значение ровно до двух знаков после запятой

person sagar soni    schedule 22.08.2017

Ибо "char" взят из БД (у меня именно так работает, Odoo V11)

<p><span t-if="doc.name" t-esc="str(doc.name)[:-8]"/></p>
person Community    schedule 29.06.2018

person    schedule
comment
Tnx для ответа отлично работает с полем char, но после включения float возникает ошибка File, строка 1, в ‹module› QWebException: объект 'float' не имеет атрибута 'getitem' при оценке 'doc.time[ :-2]' Любое решение для поля с плавающей запятой? - person user_odoo; 16.05.2017
comment
Для поплавков вы можете сначала преобразовать его в строку, например: <p><t t-esc="str(doc.time)[:-2]"/></p>. Если вы пытаетесь удалить цифры после запятой, возможно, стоит изучить форматирование строк. - person Naglis; 16.05.2017