ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python – 隐藏One2many字段有条件的Odoo / OpenERP

2019-08-30 00:55:53  阅读:283  来源: 互联网

标签:odoo-8 python openerp xml


我正在Odoo 8.0设置的客户部分中创建一个名为Master Account的选项.如果选中,则会将另一个帐户设置为祖父母.这对于拥有多个位置但只有一个结算中心的公司/客户非常有用.我能够应用此功能,但现在我不想显示将主帐户设置为已设置为某人主人的公司的选项.

我尝试过以下内容并不起作用:

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的新手.

解决方法:

试试以下,

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.
并设置这样的attrs,

<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,[])])]}"/>

标签:odoo-8,python,openerp,xml
来源: https://codeday.me/bug/20190830/1764833.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有