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