首页 > 解决方案 > 如何将自定义python函数链接到odoo中表单视图的创建按钮

问题描述

当用户单击“创建”按钮时,我想调用此 python 方法

def _validate_remaining_area(self):
    for land in self:
        if (land.remaining_area <= 0):
            raise ValidationError('You cannot more plot in this land')

我该怎么做?

标签: pythonxmlodoo

解决方案


如果按create按钮,您的意思是标准 odooModel create方法,然后覆盖该模型的create方法并在那里调用您的方法。

例如(res.partner型号):

from odoo import models, api


class ResPartner(models.Model):
    """Extend to modify create method."""

    _inherit = 'res.partner'

    @api.model
    def create(self, vals):
        """Override to call _validate_remaining_area."""
        record = super(ResPartner, self).create(vals)
        # Assuming this method is defined in res.partner model..
        record._validate_remaining_area()
        return record

推荐阅读