如何在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的方法来实现



本文 FANDX 原创内容,未经允许禁止转发,违者必究其责任!
原文地址:https://www.cnblogs.com/fandx/p/15025572.html