前言
发文时间是2019年7月19日。提一下学习odoo的感觉,odoo目前在国内并非很流行,且主流是在企业型软件,因此致使目前odoo在网上的文献不多,学习相对来讲比其余框架吃力。如下为你们总结10天中获得的东西git
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层就很好掌握了github
请假系统(项目)
one(demo)传送门
框架