11.在__mainfest__.py中,要在depends中写上所依赖的模块名,在data中写上用到视图文件的名字,比如在views中有work.xml文件,在data中写上'views/work.xml'

12.对于Many2many字段,如果对于这个字段里的某个属性进行修改,升级以后,如果数据库里没有更新,则需要对这个模块进行卸载重装

13,对于Many2many字段的后台处理规则:

# (0, 0, { values }) 创建从表记录

例如:self.write({'order_line':[(0,0,{'name':'tfs','age':26})]})

# (1, ID, { values }) 更新从表记录

# (2, ID)删除从表中记录

# (3, ID)删除从表链接,但不删除从表记录

# (4, ID)链接一个现有的id记录

# (5,) 删除所有的链接,但不删除从表记录

# (6, 0, [IDs])替换,把原有的链接删掉,然后重新获取设置新的链接

比如给many2many链接一个model,首先将其放在一个list中,如[(4,model.id)],然后赋给这个many2many字段就可以了:

如果是创建,data[A] = [(4,model.id)],B.create(data)

如果是赋值,list = [(4,model.id)],B.A=list,A代表many2many字段

14.执行sql语句,目前是self.env.cr.execute(sql)

15.继承父类方法,在方法内第一行写super(子类类名,self),后面写具体的执行逻辑,意味着对父类方法的拓展,在执行完父类方法后,再执行子类中对父类方法的拓展

16.def create(self, vals)重写创建方法,vals以字典形式存储一些信息,

line = super(workcenter_productivity_sub, self).create(vals) 调用父类create方法

17.self.env['mrp.workorder']获取类mrp.workorder的实例对象,相当于workorder=mrp.workorder()

18.browse方法:浏览对象及其关联对象。从数据库中读取指定的记录,并生成对象返回。和read等方法不同,本方法不是返回简单的记录,而是返回对象。返回的对象可以直接使用"."存取对象的字段和方法,形如"object.name_of_the_field",关联字段(many2one等),也可以通过关联字段直接访问“相邻”对象。如:

class mrp.workcenter.productivity(model.Model):

self.env['mrp.workorder'].browse(vals.get('workorder_id')).workcenter_id.id

使用类mrp.workorder调用browse方法获取数据库中本model类(指mrp.workcenter.productivity)中的字段为workorder_id的对象,然后再用这个对象用‘ . ’来获取我们想要的字段id

19.继承父类方法,对其进行拓展之后,查看一下继承的父类方法是否有返回值,或者说有某个方法调用父类接收返回值,其实主要就看父类是否有返回值,如果有的话,继承父类的子方法如果只是对其中的数据库进行修改,而不是修改返回值的数据格式,那么只需要在前面写的super方法前,用一个对象来接收super的返回值,意味着接收父类执行完的返回值,然后在子方法最后返回这个值,如res = super(MrpProduction_sub,self)._workorders_create(bom, bom_data),否则会出现特殊的错误,TypeError: Mixing apples and oranges: mrp.workorder().concat(None)

20.self.operation_ids.ids代表获取当前对象关联表的所有id

21.对于@api.constrains,def _check(self),应该要先遍历self,防止先有数据,再安装模块,然后走到这个方法时,self是多个;还有就是子表内有这个方法,在父表内直接创建多条子表明细,那么self也是多个,不遍历的话会报错的,其实对于后面这种情况也可以通过在子表内写create方法,不做任何处理,然后就是相当于创建的时候,每创建一条就走一次constrains方法,self就是单个。

odoo model注意事项-2(个人总结,不喜勿喷)相关推荐

  1. android 流失布局,Android使用RecyclerView实现流式布局的注意事项

    纯手打,不喜勿喷 long may the sun shine 众所周知,Android开发中Recycleview的功能十分强大,可以实现各种炫酷的效果,今天我根据最近开发的一个项目简要说下流式布局 ...

  2. 【论文解读--触地检测+FSM状态切换】(猎豹 3)Contact Model Fusion for Event-Based Locomotion in Unstructured Terrains

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.简介 二.整体思路 三.基于gm的干扰观测器估计腿上的外力 1. ...

  3. amd 深度学习模型部署_Web服务部署深度学习模型-续集

    在上一篇中,本人介绍了如何使用Web服务部署深度学习模型,见知乎链接:刘聪NLP:Web服务部署深度学习模型. 有同学提问:"是否可以在web上有输入数据的接口,通过深度学习模型的计算数据的 ...

  4. 《概率机器人》里程计运动模型gmapping中代码解析

    里程计运动模型(odometery motion model)用距离测量代替控制.实际经验表明虽然里程计虽然仍存在误差,但通常比速度运动模型更加的精确.相比于速度运动模型运动信息utu_t由 (x¯t ...

  5. 《概率机器人》速度运动模型gmapping中代码解析

    一个刚性移动机器人的构型通常用6个变量来描述:他的三维直角坐标系,以及相对外部坐标系的三个欧拉角(RPY 横滚 ,俯仰,偏航),所以那么在平面环境中一般用三个变量既可以描述,称之为位姿. 所以一般而平 ...

  6. Web前端框架与类库的思考

    说起前端框架,我也是醉了.现在去面试或者和同行聊天,动不动就这个框架碉堡了,那个框架好犀利. 当然不是贬低框架,只是有一种杀鸡焉用牛刀的感觉.网站技术是为业务而存在的,除此毫无意义,框架也是一样.在技 ...

  7. iOS黑科技之(CoreImage)静态人脸识别(一)

    iOS黑科技之(CoreImage)静态人脸识别(一) 人脸识别原理简介:每一张图片都是由每一个像素点组成,而每一个像素点中又有对应的颜色值(如RGB),人的面部特征中,不同的五官,颜色值肯定存在差异 ...

  8. 关于MVC/P 的简单介绍

    写在最前面的那些话 相信对于大多数小白来说,关于MVP.MVC设计模式肯定是听过也看到过很多次了,也许也有过一些简单了解,但关于TA的具体概念,如何使用以及具体应用等都毫无所知,所以本着许多小伙伴一看 ...

  9. C# SQL封装(一)

    感谢软谋徐老师的SQLHelper.as , 代码如下(本人有所改动): using System; using System.Collections; using System.Collection ...

最新文章

  1. XAML特殊字符 (转)
  2. torch多维取数据
  3. [转]我倡导无政府主义编程—Fred George访谈录
  4. 学习笔记(十七)——redis(CRUD)
  5. 第九章 思科竞争谋略
  6. 如何在一天内被Google和百度收录
  7. [蓝桥杯][2017年第八届真题]合根植物
  8. 直播平台开发时关于生成邀请码的开发
  9. E - A very hard mathematic problem----(2015 summer training #3)
  10. Linux基础知识 | vi编辑器
  11. 哪家的服务器cpu性能高,服务器cpu排行
  12. 基于SpringCloud的enum枚举值国际化处理实践
  13. 卫星历史影像数据—六种查看方法
  14. 使用Cplex求解均值方差模型
  15. 如何将DWG另存为kml文件?
  16. c语言%hx输出大写,C语言输出函数printf
  17. 数据结构与算法学习⑤(BFS和DFS 贪心算法 二分查找)
  18. 前端:你可能不知道的骨架屏方案设计
  19. IPTV、DVB、OTT的区别
  20. 通过css实现对勾(√)和叉号(×)

热门文章

  1. Windows无界面开机自启
  2. JDBC Connection Fails With SEVERE: IO Error: Connection Reset By Peer解决方法
  3. 全国首个中国区块链监管沙盒杭州湾产业园成立
  4. AUTOSAR从入门到精通-【应用篇】基于Vector工具链车载总线自动化测试平台的研究与开发
  5. APP性能测试——流量测试(二)
  6. Spring Boot 集成 FreeMarker 详解案例
  7. 在Excel中使用SQL语句查询和筛选
  8. windows的cmd如何进入指定目录
  9. python计算当前时间的上个季度值
  10. 30 个案例场景解析数据分析底层逻辑