odoo中可重写的内置方法

时间:2024-03-22 07:02:47

一 create(self,vals)

根据视图传过来的dict对象,生成模型记录。
点击保存时生效。
需要自动生成编码 和 点击保存时需要触发一些方法时重写。

例如:
odoo中可重写的内置方法

二 write(self,vals)

记录的修改(编辑)函数,参数也是dict。
重新编辑记录时需要触发一些方法时重写。

例如:
odoo中可重写的内置方法

三 read(self,fields)

记录的查看函数,参数是查看哪些字段。
没重写过。

四 unlink(self)

记录的删除函数,参数是当前数据记录集。
一般重写该函数,校验记录的状态等,限制某些记录不能被删除。
odoo中可重写的内置方法

五 default_get()

default_get(fields) 函数用于初始化记录的默认值,对于模型的某些字段如果需要设置默认值,可以重写模型的default_get()函数达到目的。
会返回一个带有要创建的新记录默认值的字典。默认值可使用变量,如当前用户或会话上下文。

大致写法如下:odoo中可重写的内置方法
例如:
odoo中可重写的内置方法

六 name_get()

name_get()函数定义了该模型的记录在被关联、搜索时,所显示出来的名字,默认是使用name字段的值。

如果我们想自定义该模型的记录显示的名称,例如:使用 编码+name字段 显示的复合名称,则可以重写name_get()函数:
odoo中可重写的内置方法
例如:
odoo中可重写的内置方法

----------------------------------------------------------------------------用到了再记录----------------------------------------------------------------------------------

七 name_create(name)

相当于只传递name字段值,调用create方法创建一条新记录。

八 fields_view_get()

视图查询函数,一般不重写:返回指定视图的具体组成如:字段,所关联的模型,视图结构。

九 fields_get()

检查该模型对于的数据库表是否存在,是则返回1,否则返回0.

十 load_views(views,options)

视图加载函数,可以重写该函数,在加载视图时传递context值,控制视图行为。

十一 get_formview_action

表单视图获取函数,可以重写该函数,使模型加载某个特定的form视图,甚至可以在加载时传递context值,控制视图的行为。

十二 load_views(views,options)

视图加载函数,可以重写该函数,在加载视图时传递context值,控制视图行为。

十三 _table_exist

检查该模型对于的数据库表是否存在,是则返回1,否则返回0.

相关文章