gpt4 book ai didi

openerp - 如何覆盖odoo new api中字段的默认功能

转载 作者:行者123 更新时间:2023-12-02 08:15:17 24 4
gpt4 key购买 nike

我有一个调用函数来获取默认值的字段(在模块 project_forecast 中):

 def default_user_id(self):
return self.env.user if ("default_user_id" not in self.env.context) else self.env.context["default_user_id"]

user_id = fields.Many2one('res.users', string="User", required=True,
default=default_user_id)

我创建了另一个模块来继承它并更改字段 user_id 的默认值,但它在日志中没有任何错误就无法正常工作,我该如何解决这个问题?

def default_user_id(self):
return False

最佳答案

您在字段定义上直接链接方法。因此,覆盖该方法是不够的。只需使用 default 作为唯一参数再次定义字段 user_id 并使用您的新方法:

原模型:

class MyModel(models.Model):
_name = "my.model"

def default_user_id(self):
return self.env.context.get("default_user_id", self.env.user)

user_id = fields.Many2one(
comodel_name='res.users', string="User", required=True,
default=default_user_id)

继承模型:

class MyModelInherit(models.Model):
_inherit = "my.model"

def default_user_id(self):
return self.env['res.users']

user_id = fields.Many2one(default=default_user_id)

关于openerp - 如何覆盖odoo new api中字段的默认功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42529872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com