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