跳至内容
菜单
此问题已终结
2 回复
1015 查看

I have a new module that depends on crm.lead, and I want to display the fields of the new module in its list view. How can I do this? Currently, it seems to only show the fields from the original module.

形象
丢弃
最佳答案

Hi,

Please refer to the code below:

Python


from odoo import models, fields

class CrmLead(models.Model):
_inherit = 'crm.lead'

x_custom_field = fields.Char(string="Custom Field")
# Add Your Custom fields

XML:

<record id="view_crm_lead_tree_custom" model="ir.ui.view">
<field name="name">crm.lead.tree.inherit.custom</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_leads_view_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='name']" position="after">
<field name="x_custom_field"/>
</xpath>
</field>
</record>


Hope it helps.

形象
丢弃
最佳答案

To show your custom fields in the crm.lead list view, you need to inherit the tree view and add your fields.
<record id="crm_lead_tree_view_custom" model="ir.ui.view">

    <field name="name">crm.lead.tree.view.custom</field>

    <field name="model">crm.lead</field>

    <field name="inherit_id" ref="crm.crm_lead_view_tree"/>

    <field name="arch" type="xml">

        <xpath expr="//tree" position="inside">

            <field name="x_custom_field"/>

        </xpath>

    </field>

</record>

Make sure your model extension correctly adds the new fields:
from odoo import models, fields


class CrmLead(models.Model):

    _inherit = 'crm.lead'


    x_custom_field = fields.Integer(string="Another Field")


形象
丢弃
相关帖文 回复 查看 活动
0
5月 25
593
0
8月 24
985
2
3月 24
1224
1
7月 22
2593
0
5月 22
1592