前言
發文時間是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)傳送門
框架