Odoo开发需要注意些什么?
在Odoo專欄中,我們分享了很多技術文章,也不禁在思考:有哪些點是需要我們注意,卻又很容易忽略的呢?這也是做Odoo開發時非常重要的內容,畢竟一個小bug,真的很磨人啊!
所以本期想分享一下做開發時,需要注意哪些問題~整理的或許并不全面,歡迎大家多多補充!
希望我們能一起規避更多的坑!
1、通過腳手架搭建項目框架:python odoo-bin scaffold 項目名稱 工程目錄
eg:在example目錄下建立demo項目: python odoo-bin scaffold demo example
2、建立odoo.conf文件,配置以下參數:
3、如果自定義widget、視圖樣式等,需要在templates.xml中引用
<?xml version="1.0" encoding="UTF-8"?> <odoo><template id="assets_end" inherit_id="web.assets_backend"><xpath expr="." position="inside"><script src="/demo/static/src/js/change_form_controller.js" type="text/javascript"/><link href="/demo/static/src/scss/deo.scss" rel="stylesheet" type="text/scss"/></xpath></template> </odoo>4、如果需要額外依賴其他模塊或改造qweb后,在__manifest__.py中引用
'depends': ['base', 'account'], 'qweb': ['static/src/xml/change_demo.xml'],5、修改權限文件ir.model.access.csv之后,需要重新啟動服務,否則不生效。
6、修改js、css等靜態文件不用重新啟動服務,只需要刷新頁面。
7、修改xml文件后如果不想升級,可以在odoo-bin啟動文件Parameters增加以下配置,這樣只刷新頁面就能達到升級效果。
--dev=xml -c8、當ORM可以實現的時候盡量使用ORM而不要直接寫SQL語句,因為它可能會繞過ORM的一些規則如權限、事務等,還會讓代碼變得難讀且不安全。
9、Odoo有自己的事務處理機制,不用手動提交事務。
10、Odoo的計算字段默認不存庫。
11、如果擴展Odoo底層的res.user表,需要手動在數據庫中增加擴展字段,再進行升級,否則升級報錯。
12、使用@api.onchange注解,可以監聽當前字段,但只有在頁面上修改才會觸發,后臺修改不會觸發。
13、使用@api.depends注解,要加上所有的依賴字段,頁面修改或者后臺修改都會觸發,需要保存后才顯示修改后的結果。
14、創建一個Model或者TransientModel類型的py文件,需要在相應的__init__.py引用,并且在權限文件ir.model.access.csv賦予權限;創建一個AbstractModel類型的py文件只需要在__init__.py引用,不用賦予權限。
15、如果修改qweb新建按鈕,那么該按鈕對應的方法前要加上@api.model注解
以上內容歡迎批評指正~還有哪些注意事項?交給大家了!
總結
以上是生活随笔為你收集整理的Odoo开发需要注意些什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 资源文件类型,命名规则(
- 下一篇: 【转帖】时间管理(GTD)的黑洞