Domain的寫法
Domain是一個元組,由3個元素組成 (字段名, 操作符, 值)
字段名如果是Many2one/Many2Many/One2many字段,可以通過"."取出對應的屬性,如:
("routing_id.operation_ids.workcenter_id","=", active_id)操作符
符號 | 說明 |
---|---|
=,>.<,>=,<=,!= | 比較運算,等于,不等于,大于,大于等于,小于,小于等于 |
like | 模糊匹配,通過%value%匹配 |
=like | 可以使用模式匹配,下劃線-匹配一個字符,百分號%匹配零或者多個字符 |
ilike | 類似like,但是忽略大小寫 |
=ilike | 類似=like,但是忽略大小寫 |
not like | 通過%value%不匹配的 |
not ilike | 類似not like,但是忽略大小寫 |
=? | 未設置或者等于,未設置表示當值是None或者是False,其余和=一樣 |
in | 判斷value是否在元素的列表里面 |
not in | 判斷value是否不再元素的列表里面 |
child_of | 判斷是否value的子記錄 |
示例:
("company_id","child_of",[user.company_id.id]) ("company_level","not in",("common_company"))
有一個要注意的地方,"in"可以反向表示,比如:
("user_ids", "in", user.id)
應用場景是當一個model中的字段是user_ids = field.Many2many("res.users"),我們可以將這個model的權限賦給這些用戶,只有這些用戶可以訪問
值mrp_dashboard_rule [("user_ids", "in", user.id)]
包括字符串,True或False,數字等
在xml中,能取出當前登錄用戶user對象,你可以取出user.id,user.company_id.id等
符號 | 說明 |
---|---|
& | "AND"或者"與",表示后面2個條件同時滿足。默認關系,可以省略 |
| | "OR"或者"或",表示后面2個條件滿足一個就行 |
! | "NOT"或者"非",將后面一個條件反轉,如果是True,就變成False |
示例:
[("name", "=", "Allen"), "|", ("language.code", "!=", "en_US"), ("company_id", "=", user.company_id.id)]Domain的使用場景 1.關聯字段
(Many2one/One2many/Many2many)過濾出不同的選擇結果
default_debit_account_id = fields.Many2one("account.account", string="Default Debit Account", domain=[("deprecated", "=", False)])
如上:只有當account.account中字段deprecated=False的記錄才能被選擇顯示
2.過濾出想要顯示的記錄在ir.actions.act_windon中添加Domain,當某個地方調用這個動作時,只顯示符合domain條件的記錄
3.權限過濾Opportunities crm.lead kanban,tree,form,graph,calendar [("type","=","opportunity")] { "search_default_partner_id": active_id, "default_type": "opportunity" }
4.搜索過濾Account Entry ["|",("company_id","=",False),("company_id","child_of",[user.company_id.id])]
crossovered.budget.search crossovered.budget
Domain的使用場景還有許多,我就不一一列舉了。
Domain的介紹就到此結束了,有什么問題,請大家多多指教。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41680.html
摘要:今天這個系列教程即將迎來它的最后一篇內容了,我們將要來學習中權限相關的內容。在的權限管理體系中,同樣也有用戶組這一概念的存在,和其他框架如可以說大同小異。通常和權限相關的內容,我們都會在模塊的目錄下進行定義,記錄集規則的定義自然也不例外。 在今年的情人節(2018.02.14)那天,我寫了一篇博客說即將要開一個坑,也就是大家在看的這個系列的教程。今天這個系列教程即將迎來它的最后一篇內容...
摘要:在前面教程中,我們使用了兩種類型的視圖和今天我們將學習使用另一種類型的視圖搜索視圖。大家可以試試看同時應用多個分組,或者將分組和過濾器組合使用,仔細觀察和思考產生的結果。還是老規矩,教程中的代碼會更新在倉庫中。 showImg(https://segmentfault.com/img/bVbgO85?w=1950&h=1300); 在前面教程中,我們使用了兩種類型的視圖——TreeVi...
摘要:安裝好后,在中執行查看版本信息,應該會看到輸出如下信息版本號可能會不同如果提示未找到,則需要手動將用戶基礎目錄下的添加到中。相關文章基礎教程系列第篇開天坑啦 showImg(https://segmentfault.com/img/bV4GZu?w=1262&h=911); 之前說好的 「Odoo 基礎教程系列」終于來了(撒花)~剛過完年重新投入到工作中,一下子事情有點多都要忙不過來了...
最終實現的樣子 showImg(https://segmentfault.com/img/bVbu6hU?w=1273&h=652); 代碼 sale_views.xml(不做解釋,可以一起學習探討) view.sale.order.line.inherit.sale.history sale.order ...
閱讀 2718·2023-04-26 02:02
閱讀 2586·2023-04-25 20:38
閱讀 4116·2021-09-26 09:47
閱讀 3104·2021-09-10 10:50
閱讀 3771·2021-09-07 09:58
閱讀 3334·2019-08-30 15:54
閱讀 2701·2019-08-30 15:54
閱讀 1924·2019-08-29 17:03