http://blog.csdn.net/qq_18863573/article/details/51114893

1.one装饰器详解

odoo新API中定义方式:

date=fields.Date(string="date",compute="_get_date")  

@api.one
def _get_date(self):
self.date=fields.Date.today()

其实说的易懂些,等同于旧API的function 类型的简化版,但是需要特别注意到是one装饰类无返回值。

2. multi装饰类详解

odoo新API中定义方式:

1.本人一般将multi装饰类用于tree试图模式的报表中,如下图实例:

@api.multi
def action_done(self):
return {
'name': _(u'科目'),
'view_type': 'form',
"view_mode": 'tree,form',
'res_model': 'account.account',
'type': 'ir.actions.act_window',
'domain': [('id', 'in', return_list)],
'views': [(tree_id, 'tree'), (form_id, 'form')],
'view_id': [tree_id],
}

2.multi使用可以参考one装饰类,不过multi类有返回值。

3.model装饰类,该装饰类一般用于定义定时任务的方法中

类似于旧API:

def action_done(self,cr,uid,context=None):
pass

通过实例,可以看出model装饰类,是没有ids传入的,但是他可以有返回值。

总结:

1.其实通过上面的实例不难看出,model与multi可以有返回值,而one是没有返回值的,如果用one装饰器,即使写了return,也是没有作用的,虽然不会报错,但是如果不知道原因的瞎折腾也是比较折磨人的

2.还有一点区别的是multi与one装饰类是有ids传入的,而model没有ids传入。

最新文章

  1. 自定义cell(xib)中button点击事件不能响应的情况
  2. sql转db,后台坑货
  3. CentOS 6.x 系统安装选项说明
  4. SAM4E单片机之旅——16、NAND Flash读写
  5. HDU 1698 区间更新
  6. Unity3D 创建动态的立方体图系统
  7. python-根据字符串动态生成对象eval
  8. git环境搭建
  9. Failed dependencies: 检查依赖性错误 解决方法
  10. CHANGE NOTEPAD DEFAULT CODE TO UTF-8
  11. Codeforces 506E Mr. Kitayuta's Gift (矩阵乘法,动态规划)
  12. c的文件流读取
  13. SQLite这么娇小可爱,不多了解点都不行啊
  14. PHP设计模式_工厂模式
  15. Bootstrap之图片展示界面Demo2
  16. 【下一代核心技术DevOps】:(四)私有镜像库阿里云Docker服务使用
  17. CAN通信详解
  18. php传值和传引用的区别
  19. SSH Secure Shell链接Ubuntu报错Server responded "Algorithm negotiation failed"
  20. http://blog.mn886.net/jqGrid/

热门文章

  1. 什么是Github的元数据metadata以及如何备份github上的数据
  2. WSGI、flup、fastcgi、web.py、uwsgi
  3. Intellii IDEA 中快速补全main方法:psvm
  4. LVS的DR模式负载均衡
  5. 【转】SpringBoot学习笔记(7) SpringBoot整合Dubbo(使用yml配置)
  6. IP黑白名单
  7. PAT——1014. 福尔摩斯的约会
  8. 【Git】Git使用小结
  9. 解决ssh连接linux系统特别慢的问题
  10. iOS 获取蜂窝网络信号强度 包含iPhoneX XS XR XSMASX (最新)