【实习第十天】odoo开发基础整合
前言
发文时间是2019年7月19日。提一下学习odoo的感受,odoo目前在国内并不是很流行,且主流是在企业型软件,所以导致目前odoo在网上的文献很少,学习相对来说比其他框架吃力。以下为大家总结10天中得到的东西
res.users
- res.users是odoo中自带的模型(model),此模型在项目中是必不可少的存在。
- 倘若您需要自动获取登陆人的信息,那您得用res.users,例子如下
- 注: lambda 是匿名函数
User_id =fields.Many2one('res.users','姓名',default=lambda s: s.env.uid)
ORM
- ORM是odoo中常用到的操作,具体不细讲,因为这个其他博主已经有详细说明
- 例如create(创建),unlink(删除),read(读)等等
- 具体目的是当你在创建时,读取时等等,会进行哪些操作或者判断,按照自己的需求来要求
self.env
- self.env是我认为在odoo model层的核心,他能跨模型的去获取数据
- 具体用法self.env[model],model的意思是你要选择的模型,比如self.env[todo]
- 进入env[model]后,可以用search,search_count等,这个具体可以查看其他博主
- 所以整体起来就是 self.env[model].search(['字段','判断符号(=,!=等)','要求']),例如:
count = fields.Integer(string=u'数量')
res = self.env['要找的模型'].search([('count', '=',1)])- 该方法就会找到count数量等于1的列表。并返回列表的id
总结
以上3点中,最难找到的文献是self.env,只要掌握self.env而且有其他语言的基础,odoo的model层就很好掌握了
请假系统(项目)
one(demo)传送门
【实习第十天】odoo开发基础整合的更多相关文章
- 【实习第一天】odoo开发基础(一)
管理权限 在项目中,有个security文件夹,其中的ir.model.access文件后面带4个参数.分别代表着读,写,创建,删除的操作 想要开启权限需要将其参数调成为1,反之为0.倘若不调整参数, ...
- 【实习第二天】odoo开发基础(二)
搜索视图 搜索试图包括过滤器(Filters),分组(Group By)以及收藏(Favorites) 其中还包括默认的搜索栏 搜索栏添加自定义方法 <!--views.xml--> &l ...
- odoo开发基础--模型之基本字段类型
定义模型的时候,和python的其他框架类似,可以对比Django,同样是一个模型即:一个class对应生成数据库中的一张表, 只是odoo的继承机制比较复杂一点,在日常的开发中,定义模型的时候, 基 ...
- odoo 开发基础 -- postgresql重新启动、状态查看
场景描述: 当遇到数据库不能正常访问的时候,我们首先想到的是,查看相关的告警日志,一般先查看系统的日志,然后查看数据库的日志,Linux平台下,postgresql的日志文件存放目录在如下路径: te ...
- odoo 开发基础 -- 视图之widget
Odoo 中的widget many2many_tags one2many_list selection progressbar selection statusbar handle monetary ...
- odoo 开发基础 -- 视图之xpath语法
odoo 视图函数 在整个项目文件中,结构并不是十分明显,虽然它也遵循MVC设计,类比django的MTV模式,各个模块区分的十分明显,在Odoo中,视图的概念不是特别明显,很多时候,我们会将调用模型 ...
- 《OdooERP应用与开发基础》试读:第一章-Odoo概述
文/开源智造联合创始人老杨 本文来自<OdooERP应用与开发基础>的试读章节.书籍尚未出版,请勿转载.欢迎您反馈阅读意见. Odoo是什么 Odoo,以前叫OpenERP,是比利时O ...
- SpringBoot开发二十-Redis入门以及Spring整合Redis
安装 Redis,熟悉 Redis 的命令以及整合Redis,在Spring 中使用Redis. 代码实现 Redis 内置了 16 个库,索引是 0-15 ,默认选择第 0 个 Redis 的常用命 ...
- Spring Boot(十四):spring boot整合shiro-登录认证和权限管理
Spring Boot(十四):spring boot整合shiro-登录认证和权限管理 使用Spring Boot集成Apache Shiro.安全应该是互联网公司的一道生命线,几乎任何的公司都会涉 ...
随机推荐
- 1.flask基础
1.flask和django的区别? flask,是一个轻量级的框架,内置了:路由/视图/模板(jinja2)/cookie/session/中间件. 可扩展强,第三方组件非常多,例如:wtforms ...
- Mysql 执行计划以及常见索引问题总结
Mysql 执行计划以及常见索引问题总结
- go基础之并发
1.Goroutines是轻量级线程 2.channels的同步通信 1.Goroutines是轻量级线程 go语句在单独的线程中运行一个函数. 你可以使用go语句启动一个新的执行线程,即一个goro ...
- ZOJ 3195 Design the city (LCA 模板题)
Cerror is the mayor of city HangZhou. As you may know, the traffic system of this city is so terribl ...
- ESP8266调试(UDP调试)
1.设置STA模式 AT+CWMODE=1 2.加入热点 AT+CWJAP="Admin_name","password" 3.开启单路连接 AT+CIPMUX ...
- C#异步编程看这篇就够了
随着.NET Core的流行,相信你现在的代码中或多或少的会用到async以及await吧!毕竟已成标配.那么我们为什么要用async以及await呢?其实这是微软团队为我们提供的一个语法糖,让我们不 ...
- 167. 两数之和 II - 输入有序数组
给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2. 说明: 返回的下标值( ...
- Selnium IDE插件的安装与简单使用
一.Firefox在线安装IDE插件 1.启动Firefox,点击菜单工具->附加组件,如图: 2.在附件管理页面,手动输入Selenium IDE,搜索 3.在搜索结果中点击Selenium ...
- python基础入门while循环 格式化 编码初识
一.while循环 1.格式 while+空格+条件+英文冒号: 缩进+结果(循环体) #若条件为真则一直执行,条件为假则不执行 while True: print('痒') print('. ...
- Power Platform之Power Automate新增RPA功能
什么是RPA RPA( Robotic Process Automation 机器人流程自动化软件),是一种新型的人工智能的虚拟流程自动化机器人.RPA的核心是通过自动化.智能化技术来“替代人”进 ...