【实习第十天】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开发基础整合)