【问题标题】:How to dispplay Selection Field on Tree view ODOO 11如何在树视图 ODOO 11 上显示选择字段
【发布时间】:2018-08-14 09:03:52
【问题描述】:

我是新手odoo。我从基础学习odoo。我有一个问题,虽然我在帮助 odoo 但不起作用时搜索 stackoverflow。

我有一个从 res.partner 继承的模型选择字段。

我想在树形视图中显示性别值。我怎么能这样做?请帮帮我

```
<odoo>
    <data>
        <record model='ir.ui.view' id="dyno_lead_view_inherit">
            <field name="name">res.partner.tree.view.inherited</field>
            <field name="model">res.partner</field>
            <field name="inherit_id" ref="base.view_partner_tree"/>
            <field name="arch" type="xml">
                <field name="display_name" position="after">
                    <field name="gender"/>
                    <field name="social_id"/>
                    <field name="birthday"/>
                </field>
                <field name="phone" position="after">
                    <field name="customer_job"/>
                    <field name="customer_monthly_income"/>
                    <field name="debt"/>
                    <field name="loan_range"/>
                    <field name="cic_code"/>
                    <field name="address"/>
                    <field name="city"/>
                    <field name="country_id"/>
                </field>
            </field>
        </record>
    </data>
</odoo>
GENDER = ((1, 'Nam'),
          (2, 'Nữ'),
          (3, 'Không xác định'))
gender = Selection(GENDER, string="Giới tính", help='Giới tính')
```

【问题讨论】:

    标签: selection odoo


    【解决方案1】:

    您不需要像这样将 GENDER 放在 xml 文件中。相反,在你的 python 模型中,你应该这样写:

    class YourClass(models.Model):
        _inherit = 'res.partner'
        gender = fields.Selection([('1', 'Nam'),('2', 'Nữ'),('3', 'Không xác định')])
    

    希望对你有所帮助,:)

    【讨论】:

    • 我在模型中写性别,而不是在 xml 文件中:D。所有字段都使用选择不显示。我阅读了 odoo 文档,但文档不好
    • 只需在Selection 之前添加fields 即可:)
    • from odoo.fields import Selection, Integer, Many2one, Char, Float Selection 已经从字段导入:D。有什么建议吗?
    【解决方案2】:

    https://github.com/OCA/partner-contact/tree/12.0/partner_contact_gender 上查看 OCA 的 partner_contact_gender 模块

    这是 res.partner.py:

    # Copyright 2014-2015 Grupo ESOC <www.grupoesoc.es>
    # Copyright 2017-Apertoso N.V. (<http://www.apertoso.be>)
    # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
    
    from odoo import fields, models
    
    
    class ResPartner(models.Model):
        _inherit = 'res.partner'
    
        gender = fields.Selection([
            ('male', 'Male'),
            ('female', 'Female'),
            ('other', 'Other')
        ])
    

    这是 res_partner.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
        <record id="view_personal_information_gender" model="ir.ui.view">
            <field name="name">Partner gender: personal info</field>
            <field name="model">res.partner</field>
            <field name="inherit_id" ref="partner_contact_personal_information_page.personal_information"/>
            <field name="arch" type="xml">
                <xpath expr="//page[@name='personal_information_page']//group[@name='personal_information_group']">
                    <field name='gender'/>
                </xpath>
            </field>
        </record>
    </odoo>
    

    【讨论】:

    • 问题是显示在树形视图中,你的答案看起来像是继承了表单视图。
    • 你是对的,但同样的想法也适用于列表视图,只需继承正确的视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多