search: 用法 self.env['模型名'].search([('name', '=', '示例')])
search_read : 用法 search_read([damain], [字段名]), 汇聚成一个list 列表,内置id值, 可选参数 , order 排序, limit 记录条数, 用在接口,数据库之间数据传输很方便
mapped: 用法 records.mapped('name'),汇聚成一个列表,也可于search搭配使用,也可关系字段.mapped()使用,后者满足平时大部分用法 browse : 用法 search([]).browse(值), 可以是id,可以是ids,从数据库读取指定的记录,生成对象返回,和read,mapped方法不同,返回对象可用 . 操作对象字段和方法,也可通过关联字段访问相邻对象,类似于 self 的记录。
read: 用法 self.env.ref('视图id').read()[0], 返回一个视图字典列表
super:用于继承方法,
@api.model def create(self, vals):
res = super(模型名,self).create(vals)
return res
@api.multi :获取记录集合
@api.onchange('监听字段名‘) : 监听字段值改变时候,执行onchange 下的方法 def _onchange_被改变字段名
@api.depends('依赖字段'):用于计算字段,和onchange 相近,depends 是时刻执行
def _compute_被改变字段名
反写 inverser = "方法名", 加在字段属性中,在保存时执行反写方法
@api.constrains('监听字段名'):
约束方法,单据创建或者保存时候执行约束方法
def _constrains_限制字段名
strftime:可用于来自定义时间格式 today = datetime.today().strftime(' %Y 年 % m 月 %d 日 %H 时 %M 分 %S 秒') 可满足平时时间格式转换的需求,此函数也对时间格式的字符串生效 ‘2020-12-12 20:20 :20’.
strftime(' %Y 年 % m 月 %d 日 %H 时 %M 分 %S 秒') > 2020年12月12日 20时20分20秒
时区更改:odoo 部署时间时区与中国时区相差八小时,有时候需要对时区做更改,不可单纯小时加或减8,天数也要跟着修改。
from datetime import datetime
from datetime import timezone
from datetime import timedelta
today = utc_time.astimezone(timezone(timedelta(hours=+8))).strftime("%Y年%m月%d日 %H时%M分%S秒") 会用,
没探究具体每个函数的意思,以后用到再探究 暂时只能联想到这些典型的,琐碎的基础不描述,等以后有新知识再来补充