odoo 12 域表示式(domain)

2021-09-26 15:07:14 字數 1564 閱讀 3108

格式:[(『欄位名』,『操作符』,值)]

例:[(『shenqr.user_id』,』=』,uid)]

(1)操作符

操作符說明=,>.<,>=,<=,!=

比較運算,等於,不等於,大於,大於等於,小於,小於等於

like

模糊匹配,通過%value%匹配

=like

可以使用模式匹配,下劃線-匹配乙個字元,百分號%匹配零或者多個字元

ilike

類似like,但是忽略大小寫

=ilike

類似=like,但是忽略大小寫

not like

通過%value%不匹配的

not ilike

類似not like,但是忽略大小寫

=?未設定或者等於,未設定表示當值是none或者是false,其餘和=一樣

in判斷value是否在元素的列表裡面

not in

判斷value是否不再元素的列表裡面

child_of

判斷是否value的子錄, [(a,『child_of』,a)]返回true

(2)條件間的邏輯運算符號

說明&與,表示符號後2個條件同時滿足,預設關係,可以省略

/或,表示後面2條條件滿足乙個就行 (符號為豎線)

!非,將後面乙個條件反轉,如果是ture,就變成false

odoo是使用了波蘭表示法,操作符置於運算元前,並且不需要括號仍然能無歧義地解析表達的方法。

a,b,c,d=[(『欄位名』,『操作符』,值)],代表乙個表示式

(a,'|',b,c,d)

#運算效果:a and (b or c)and d

#波蘭表示法:a and ( or b c)and d

(1)關聯字段(many2one/one2many/many2many)

account_id = fields.many2one('account.account', 

string='default debit account',

domain=[('active', '=', false)])

(2)過濾出想要顯示的字段

在ir.actions.act_windon中新增domain,當某個地方呼叫這個動作時,只顯示符合domain條件的記錄

opportunities

crm.lead

kanban,tree,form,graph,calendar

[('type','=','opportunity')]

(3)許可權過濾

account entry

[('company_id','=',false)]

(4)搜尋過濾

crossovered.budget.search

crossovered.budget

參考文章:

12 正規表示式

正規表示式 是乙個非常強大而實用的工具,可以用乙個模式串匹配一系列符合規則的字串。現在就請大家實現乙個正規表示式的匹配工具。雖然正規表示式的規則很複雜,但其中的核心規則,只要實現就可以處理大多數的問題 c 匹配任意字母c 匹配任意的單個字元 匹配輸入字串的開頭 匹配輸入字串的結尾 匹配前乙個字元的零...

odoo裡domain條件表示式寫法總結

自己做了個例子 倉庫 儀表板 分揀型別 使用者倉庫1只能看到即墨庫的 使用者2只能看到青島的 設定 使用者組 仿照 倉庫 使用者 組新建乙個使用者組 在模組倉庫下 名稱叫即墨庫管 在繼承選項卡中選中 倉庫 使用者 然後建立兩個使用者 倉庫1隸屬於即墨庫管 倉庫2隸屬於青島庫管 設定 安全設定 記錄規...

1 2變數與算術表示式

程式使用 5 9 32 列印下列華氏溫度和攝氏溫度對照表 1 1720 640460 24300 148 include 當fahr 0,20,300時,分別列印華氏溫度和攝氏溫度對照表 收穫 在c語言的學習中,c中的變數必須都先宣告後使用,生命通常放在函式起始處,在任何可執行的語句之前。宣告是用於...