Как зациклить список объектов в Odoo 9 Qweb и получить каждый объект? - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть список объектов, и я хочу перебрать этот список и получить свойства каждого объекта.Как зациклить список и получить каждый элемент списка, чтобы получить поля объектов?

1 Ответ

0 голосов
/ 11 февраля 2019

Вы можете использовать t-foreach в QWeb и выполнять итерации по типам последовательностей, таким как списки, наборы или наборы записей Odoo.

Ниже приведен более крупный пример из Обеденного приложения Odoo (V10):

<tbody>
    <t t-foreach="docs.read_group([('id', 'in', docs.ids)],['user_id'],['user_id'])" t-as="o">
        <t t-set="user" t-value="user.browse(o['user_id'][0])"/>
        <t t-set="lines" t-value="docs.search([('user_id', '=', user.id), ('id', 'in', docs.ids)])"/>
        <tr>
            <td colspan="2">
                <strong t-field="user.name"/>
            </td>
            <td class="text-right" colspan="2">
                <strong>
                    <span t-esc="sum(line.price for line in lines)"/>
                    <span t-field="user.company_id.currency_id.symbol"/>
                </strong>
            </td>
        </tr>
        <tr t-foreach="lines" t-as="line">
            <td>
                <span t-field="line.date"></span>
            </td>
            <td>
                <span t-field="line.product_id.name"/>
            </td>
            <td>
                <span t-field="line.note"/>
            </td>
            <td class="text-right">
                <span t-field="line.price"
                    t-options='{"widget": "monetary", "display_currency": user.company_id.currency_id}'/>
            </td>
        </tr>
    </t>
</tbody>
...