0

I need to control visibility of the field based on the value of another field. That another field is a reference. I think I need to do a lookup pretty much the same way as I can do in a module with browse or search methods. But how to do in a view?

View:

<field name="org_no" attrs="{'invisible':[('country_id','!=','Sweden')]}"/>

Model (standard res.partner):

country_id: fields.many2one('res.country', 'Country')
4

3 回答 3

0

field_view_get是静态解决方案问题,一旦您在域上设置了值,视图就会随之而来,所以如果这是您的要求,您可以使用它。

否则您可以使用以下解决方案来获得更好的动态行为。

  1. Boolean在您想要控制可见性的对象上取一个字段,并将其添加为不可见的字段。
  2. on_change根据您想要控制可见性的内容编写字段的方法,并使用 on change 方法可以设置上述布尔字段的值。
  3. 使用“第一步boolean”字段attrs使字段按需可见。

谢谢你

于 2013-10-14T05:52:59.883 回答
0

你可以直接使用这个:

<field name="org_no" attrs="{'invisible':[('country_id.name','!=','Sweden')]}"/>

因为 country_id 仅存储在您的 many2one 字段中选择的国家/地区的 ID

于 2013-10-14T09:49:06.657 回答
0

撇开硬编码不谈,你几乎拥有它。只需确保该country_id字段位于表单上,以便它可以在 attrs 上使用org_no。如果您不想让用户看到国家/地区,只需将其设置为不可见的字段即可。

于 2013-10-13T08:52:04.380 回答