odoo常用方法汇总:odoo14方法mapped()和search()如何使用

odoo常用方法

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秒") 会用,

没探究具体每个函数的意思,以后用到再探究 暂时只能联想到这些典型的,琐碎的基础不描述,等以后有新知识再来补充

广州众谛信息科技有限公司, Odoo小老谛 2024年1月18日
分析这篇文章
存档
登录 留下评论
Odoo前端开发说明:Javascript参考手册
Odoo前端开发