如何在odoo的ORM中给字段创建default默认值

方式一:

from odoo import models, fields
class FandxModel(models.Model):
    _name = 'fandx.model'
        
    # 设置默认值为fandx
    name = fields.Char(default="fandx")

这种方式适用于静态默认值的时候,比如使用select选择,或者时间等等的时候。

方式二:

from odoo import models, fields
class FandxModel(models.Model):
    _name = 'fandx.model'
        
    def _default_name(self):
        return self.env.user.id
    # 设置默认值为动态获的用户的ID的值
    name = fields.Char(default=_default_name)

方式二,可以动态的计算一些值赋值到对应想设置default值的地方。

但是有一点需要注意,这里是不可以获取同级字段的值来计算想要设置的值,因为数据没有被保存,数据库不能拿到对应其他字段的数据的值。

如果非要拿其他字段的值来进行计算默认值,可以使用onchange的方法来实现

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容