Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
1222 Lượt xem

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.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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")


Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 5 25
668
0
thg 8 24
1004
2
thg 3 24
1265
1
thg 7 22
2628
0
thg 5 22
1634