Xml 凌驾;只读“;one2many关系中字段的属性

Xml 凌驾;只读“;one2many关系中字段的属性,xml,odoo,Xml,Odoo,让我们假设以下代码: <field name="object_ids" attrs="{'readonly': [('state', 'not in', ['A', 'B'])]}"> <form string="My object" version="7.0"> <field name="object_name"/> <field name="object_description"/> </f

让我们假设以下代码:

<field name="object_ids" attrs="{'readonly': [('state', 'not in', ['A', 'B'])]}">
    <form string="My object" version="7.0">
        <field name="object_name"/>
        <field name="object_description"/>
    </form>
</field>

有办法做到这一点吗?或者我必须从
one2many
字段中删除属性并将其添加到每个字段中吗?这里的目标是避免对每个字段重复此属性(由于视图的继承,这很耗时,容易出错)。

是的,这应该是可能的

对于您的简单示例,您甚至不需要
XPath
语法:


{'readonly':0}
这将readonly设置为false。但是如果您想删除
attrs
属性,因为不再需要它:


第一个例子是XPath(第二个也是可能的):


{'readonly':0}

从下面@EasyOdoo的评论来看,如果不重新定义
one2many
字段的属性,这似乎是不可能的。

抱歉,但可能我不够清楚,我不想删除
object\u id
字段上的属性,因为我知道我可以使用xpath来完成,我不想将其应用于其中定义的一个字段中(即
object\u name
)就好像我正在覆盖子字段中的属性一样。哦,您是否尝试将其设置为
readonly=“0”
在该字段上?是的,但它不起作用。我可以在调试中看到没有
readonly
属性,但我猜根属性应用的不是全部。事实上。问题是该字段所在的视图被其他视图继承,这些视图也可能为一些
one2many
字段重新定义表单视图,我不想这样做阅读完整的代码,找到我应该为每个子字段添加属性的部分。是的,我理解这个问题,但没有解决方案:-/不,你不能这样做,如果字段是只读的,你不能编辑它的行。这很遗憾。将你的评论作为答案发布,以便我可以标记它,谢谢你的输入。你可以尝试将readonly设置为trueone2many字段并使{'readonly':[('state','notin',['A','B'])]}所有其他字段减少对象_name@AlejandroGranados这就是我在我的帖子中所说的,我想避免的。这些视图非常大,并且是从代码中继承的。
...
<field name="object_name" attrs="{'readonly': False}"> <!-- overrides the readonly set -->
...
<xpath expr="//field[@name='object_ids'" position="attributes">
    <attribute name="attrs">{'readonly': 0}</attribute>
</field>