Odoo v12 Many2one 小部件

问题描述

我想知道如何渲染 Many2one 字段,例如 看板 卡片,类似于“合作伙伴模型 'child_ids' 字段在'表单'视图中。

KanBan View

Many2one field in Invoice

我尝试使用完全相同的代码,但此小部件仅适用于 Many2manyOne2many 字段。

let m = ref 12 in
  (m := !m / 2;
   print_int !m;
   print_newline ())

我还尝试使用从 FieldMany2One

扩展的新 widget
 <field name="child_ids" mode="kanban" context="{'default_parent_id': active_id,'default_street': street,'default_street2': street2,'default_city': city,'default_state_id': state_id,'default_zip': zip,'default_country_id': country_id,'default_supplier': supplier,'default_customer': customer,'default_lang': lang,'default_user_id': user_id}">
        <kanban>
            <field name="id"/>
            <field name="color"/>
            <field name="name"/>
            <field name="title"/>
            <field name="type"/>
            <field name="email"/>
            <field name="parent_id"/>
            <field name="is_company"/>
            <field name="function"/>
            <field name="phone"/>
            <field name="street"/>
            <field name="street2"/>
            <field name="zip"/>
            <field name="city"/>
            <field name="country_id"/>
            <field name="mobile"/>
            <field name="state_id"/>
            <field name="image_small"/>
            <field name="lang"/>
            <!-- fields in form x2many view to diminish requests -->
            <field name="comment"/>
            <field name="customer"/>
            <field name="display_name"/>
            <field name="supplier"/>
            <templates>
                <t t-name="kanban-box">
                    <t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
                    <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'">
                        <div class="o_kanban_image">
                            <img alt="" t-if="record.image_small.raw_value" t-att-src="kanban_image('res.partner','image_small',record.id.raw_value)"/>
                            <t t-if="!record.image_small.raw_value">
                                <img alt="Delivery" t-if="record.type.raw_value === 'delivery'" t-att-src="_s + &quot;/base/static/img/truck.png&quot;"/>
                                <img alt="Invoice" t-if="record.type.raw_value === 'invoice'" t-att-src="_s + &quot;/base/static/img/money.png&quot;"/>
                                <t t-if="record.type.raw_value !== 'invoice' &amp;&amp; record.type.raw_value !== 'delivery'">
                                    <img alt="Logo" t-if="record.is_company.raw_value === true" t-att-src="_s + &quot;/base/static/img/company_image.png&quot;"/>
                                    <img alt="Avatar" t-if="record.is_company.raw_value === false" t-att-src="_s + &quot;/base/static/img/avatar.png&quot;"/>
                                </t>
                            </t>
                        </div>
                        <div class="oe_kanban_details">
                            <field name="name"/>
                            <div t-if="record.function.raw_value"><field name="function"/></div>
                            <div t-if="record.email.raw_value"><field name="email" widget="email"/></div>
                            <div t-if="record.type.raw_value != 'contact'">
                                <div>
                                    <field name="zip"/>
                                    <field name="city"/>
                                </div>
                                <field t-if="record.state_id.raw_value" name="state_id"/>
                                <field name="country_id"/>
                            </div>
                            <div t-if="record.phone.raw_value">Phone: <field name="phone" widget="phone"/></div>
                            <div t-if="record.mobile.raw_value">Mobile: <field name="mobile" widget="phone"/></div>
                        </div>
                    </div>
                </t>
            </templates>
        </kanban>
 </field>

它有效,但如果模型有 40 个 ma​​ny2one 字段(合作伙伴、报价、项目、任务、用户、费用等...),那么有 40 个 rpc电话

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...