如何根据Odoo10的条件锁定表单编辑?

时间:2017-05-30 06:24:04

标签: odoo odoo-10

这是我到目前为止所尝试的内容,但它似乎并没有像在字段上所说的那样工作。此外,我尝试将其选为=" {'编辑':[(' template_is_locked',' =',False)]}" 。

<form string="Templates" attrs="{'edit': [('template_is_locked', '=', False)]}">

</form>

我尝试过的另一件事是在表单和标题中添加一个属性,如下所示:

<attribute name="edit">
     [('template_is_locked', '=', False)]
</attribute>

似乎表单元素简单,不会对任何字段更改做出反应。也许有些人有类似的问题,你可以和我分享。

1 个答案:

答案 0 :(得分:0)

不幸的是,没有任何方法可以动态锁定整个表单本身。正如@danidee所提到的,唯一的解决方法是分别在每个字段上设置只读的attrs。

通常Odoo核心模型会像这样处理这种情况:

name = fields.Char('Name', readonly=True, states={'draft': [('readonly', False)]})

带有字段state的模型,根据状态,其他字段可以是readonly

除非记录处于草稿状态,否则name字段始终是只读的。