Odoo:限制可编辑树上的可编辑行

Odoo:限制可编辑树上的可编辑行,odoo,odoo-13,Odoo,Odoo 13,假设我有一个可编辑的树 <tree editable="top"> <field name="date"> <field name="value"> </tree> 现在假设我想让用户编辑最近3个日期的值,但其他日期应保持只读 我该怎么做呢?嗯,您可以在模型中添加一个boolen字段。这将是一个计算字段。根据该字段,您可以应用只读属性,如下所示: 对模型(models

假设我有一个可编辑的树

<tree editable="top">
    <field name="date">
    <field name="value">
</tree>

现在假设我想让用户编辑最近3个日期的值,但其他日期应保持只读


我该怎么做呢?

嗯,您可以在模型中添加一个boolen字段。这将是一个计算字段。根据该字段,您可以应用只读属性,如下所示:

对模型(models.Model)进行分类:
_name='The.Model'
旧日期=字段。布尔值(计算=''旧日期\u记录')
日期=字段。日期()
value=fields.Integer()
@api.model
定义旧日期记录(自我):
“”“定义旧日期记录的条件,这些记录可能为”“”
最近的记录=self.search([],order='date desc',limit=3)
old_rec=self.search([('id','notin',rec.\u id)])
旧记录书写({'old_dated':True})
然后您可以应用一个调度程序来运行每天调用这样的方法



这样,compute方法将更新布尔字段。

您应该对odoo JS后端有丰富的知识,才能执行类似的操作。您有一个只包含两个字段的简单模型吗?我不知道如何使用@api.model使其工作,所以我将其删除并计算记录上的标志,这样就可以了。非常感谢。