如何在odoo中将自定义python函数链接到表单视图的创建按钮

时间:2019-03-03 01:20:25

标签: python xml 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')

我该怎么办?

1 个答案:

答案 0 :(得分:1)

如果通过create按钮表示标准的odoo Model 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