【问题标题】:Hide One2many field Conditionally Odoo/OpenERP有条件地隐藏 One2many 字段 Odoo/OpenERP
【发布时间】:2015-04-01 22:25:07
【问题描述】:

我正在 Odoo 8.0 设置的客户部分中创建一个名为主帐户的选项。如果选中,它将设置另一个帐户作为祖父母。这对于拥有多个地点但只有一个计费中心的公司/客户非常有用。我能够应用此功能,但现在我不想显示将主帐户设置为已设置为某人主帐户的公司的选项。

我尝试了以下方法,但它不起作用:

Python

from openerp import models, fields, api, _

class res_partner(models.Model):
    _inherit = 'res.partner'

    related_partner_id = fields.Many2one('res.partner', 'Master Account')
    related_partner_ids = fields.One2many('res.partner', 'Master Account')

XML

<?xml version="1.0" ?>
<openerp>
    <data>
        <record model="ir.ui.view" id="base_view_partner_demo_inherit">
            <field name="name">res.partner.form.demo</field>
            <field name="model">res.partner</field>
            <field name="inherit_id" ref="base.view_partner_form" />
            <field name="arch" type="xml">
                <field name="website" position="after">
                    <field name="related_partner_id" attrs="{'invisible': [('related_partner_ids','>', '0')]}"/>
               <field name="related_partner_ids"  invisible="1"/>
               <label string="Master Account" attrs="{'invisible': [['related_partner_id', '!=', False]]}"/>
                </field>
            </field>
        </record>


    </data>
</openerp>

任何帮助将不胜感激。我是 Odoo 的新手。

【问题讨论】:

    标签: python xml openerp odoo-8


    【解决方案1】:

    尝试关注,

    from openerp import models, fields, api, _
    
    class res_partner(models.Model):
        _inherit = 'res.partner'
    
        related_partner_id = fields.Many2one('res.partner', 'Master Account')
        related_partner_ids = fields.One2many('res.partner', 'related_partner_id', 'Master Account')
    

    One2many 也需要反向字段 id。 并像这样设置属性,

    <field name="related_partner_id" attrs="{'invisible': [('related_partner_ids','!=', False)]}"/>
    

    或者你应该这样写

    <field name="related_partner_id" attrs="{'invisible': [('related_partner_ids','!=', [])]}"/>
    

    对于 Many2many 字段,应按以下方式应用 attrs。

    <field name="m2m_field" attrs="{'invisible': [('m2m_field','=', [(6,0,[])])]}"/>
    

    【讨论】:

    • 使用以下 XML 行获取错误:
    • 什么是错误?,你也需要更新你的模块,因为列结构也有变化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多