Openerp 如何根据条件隐藏场地?

Openerp 如何根据条件隐藏场地?,openerp,odoo,openerp-8,Openerp,Odoo,Openerp 8,attrs=“{'invisible':[('rule_id.type_test','!=','A')]}”在上面的代码中不起作用,我如何解决这个问题 class test_list(models.Model): _name = 'test.list' type_test = fields.Selection([('A', 'aaaa'),('B','bbbbb')], default='A', string="Type", required=True) rule_

attrs=“{'invisible':[('rule_id.type_test','!=','A')]}”
在上面的代码中不起作用,我如何解决这个问题

class test_list(models.Model):
    _name = 'test.list'

    type_test = fields.Selection([('A', 'aaaa'),('B','bbbbb')], default='A', string="Type", required=True)  
    rule_list = fields.One2many('test.rule', 'rule_id')



test.rules.form.view
测试规则

您在
attrs
中使用的字段需要显示在当前视图中

您可以将此字段添加到模型:

class test_rule(models.Model):
    _name = 'test.rule'

    rule_id = fields.Many2one('test.list', required=True)
    type_test = fields.Selection(related='rule_id.type_test')
    ul = fields.Many2one('product.ul', string='Package Logistic Unit')
然后到你的表格:

<form string="Test Rules">
    <field name="type_test" invisible="1"/>
    <field name="ul" attrs="{'invisible': [('type_test', '!=', 'A')]}"/> 
</form>

class test_rule(models.Model):
    _name = 'test.rule'

    rule_id = fields.Many2one('test.list', required=True)
    type_test = fields.Selection(related='rule_id.type_test')
    ul = fields.Many2one('product.ul', string='Package Logistic Unit')
<form string="Test Rules">
    <field name="type_test" invisible="1"/>
    <field name="ul" attrs="{'invisible': [('type_test', '!=', 'A')]}"/> 
</form>