odoo中的inherit模型屬性繼承及模型關係

2021-10-02 11:58:32 字數 1353 閱讀 3054

odoo中的inherit模型屬性繼承及模型關係

一.程式bug_adv.py中

class bugadvanced(models.model):

_inherit=『bm.bug』

#高階模型當中新增乙個所需時間字段

need_time=fields.integer(『所需時間(小時)』)

#給bm.bug類的name欄位增加help屬性

name=fields.char(help=『簡要描述發現的bug』)

stage_id=fields.many2one(『bm.bug.stage』,『階段』)

tag_ids=fields.many2many(『bm.bug.tag』,string=『標示』)

inherit繼承了bm.bug模型,本模型並沒有使用name屬性,證明繼續使用bm.bug作為名字,並基於該模型進行修改,增加了need_time屬性。

二.程式bug_stage.py中

class bugstage(models.model):

_name=『bm.bug.stage』

_description=『bug階段』

_order=『sequence,name』

image=fields.binary(『』)

bug_ids=fields.one2many(『bm.bug』,『stage_id』,sting=『bug』)

三.程式bug_tag.py中

class bugtag(models.model):

_name=『bm.bug.tag』

_description=『bug標示』

name=fields.char(『名稱』)

bug_ids=fields.many2many(『bm.bug』,string=『bug』)

四.畫黑底部分確定了模型關係;

五.對應資料庫

stage_id=fields.many2one(『bm.bug.stage』,『階段』)

宣告這個關係字段時候,在資料庫後台直接生成乙個外來鍵字段;

tag_ids=fields.many2many('bm.bug.tag',string='標示')
many2many關係中,兩個模型進行相互引用。資料庫層面,兩個多對多關係模型都不會增加字段。odoo通過自動增加第三個關係表來維持兩個模型的關係。兩個模型表的名稱用下劃線鏈結並且在後面加上「_rel」

關於ODOO中配置模型中的資料問題

感謝 上海先安科技 digitalsatori 老師的指點 問 res.config.settings 是個瞬態的,會被定時清理。在這裡設定的東西,被清理後,這些配置資料是怎麼生效的?例如 在庫存的設定中,我勾選了交貨包裹這一項。一段時間後,這個res.config.settings被清理。清理後,...

Odoo中的ORM API 模型資料增刪改查

1 create 返回新建立的記錄物件 self.create 1 search 返回資料集 接收domain表示式引數,返回符合條件的資料集,可以通過limit,offset引數限定查詢條數,還可通過order引數根據某字段值對資料集排序。self.search is company true c...

Odoo中的嚮導

嚮導類似於彈窗,用於接收使用者的輸入,然後作出相應的處理。class xxwizard models.transientmodel 要點1 使用瞬態模型 name xx.wizard order id asc 字段 fields.型別 u 欄位名 要點2 這些欄位在彈窗中由使用者賦值 api.mod...