Odoo Domain條件表示式寫法總結

2023-01-06 19:18:36 字數 1957 閱讀 6398

1)domain條件表示式規則

最簡單的格式:[('字段','操作符',值)]

例:[('','=',uid)]

說明:domain中的單個條件是乙個三個元素組成的元組,所以務必加上()。

元組中第乙個是物件的乙個column,也就是欄位名;元組中第二個是比較運算子「=,!=,>,>=,<,<=,like,ilike,in,not in,

child_of,parent_left,parent_right「;(注意:在xml檔案中使用時,'>='要

用'>='表示,'<='要用'<='表示,'!='最好用'><'表示,'>'最好

用'>'表示,'<'最好用'<'表示)元組中第三個就是用來比較的值了。多個條件用「|」(or),「&」(and),「!」(no)邏輯運算子鏈結。

邏輯運算子作為字首放置於條件前面。「|」與「&」必須兩個條件鏈結,「!」對乙個條件取反。

預設邏輯運算子為「&」。(注意:在xml檔案中使用時,'&'要用'&'表示)

2)不帶邏輯運算子的簡單表示式

過濾狀態為待批:[('state','=','wait_prove')]

過濾狀態為草稿、待批:

[('state','in',('draft','wait_prove'))]或者[('state','in',['draft','wait_prove'])]

過濾請假天數大於3天:[('tians','>',3)]

3)帶邏輯運算子的簡單表示式

假設a,b分別是不帶邏輯運算子的簡單表示式

a=('state','><','draft')

b=('tians','<=',1)

a and b:[a,b]或['&',a,b]

a or b:['|',a,b]

eg:請假模組,副經理登入時待審批的請假單(狀態是待批,並且請假天數在一天以內)選單過濾條件:

[('state','=','wait_prove'),('tians','<=',1)]

4)帶邏輯運算子的稍複雜的表示式

同上,假設a,b,c分別是不帶邏輯運算子的簡單表示式

a and b and c:[a,b,c]或則['&','&',a,b,c]

a or b or ca,b,c]

a and b or ca,b,c]

a and(b or c):['&',a,'|',b,c]

eg:經理待審批的請假單(狀態是待批,並且請假天數大於一天,並且是本部門的職員請假單,並且還不包含自己的請假單)選單過濾條件

[('state','=','wait_prove'),('tians','>',1),('','<>',uid),('','=',department_id),('','=',59)]

5)帶邏輯運算子的更複雜的表示式

同上,假設a,b,c,e,f,g分別是不帶邏輯運算子的簡單表示式

(a or b and c)or(d and e):

a,b,c,'&',d,e,3)]

eg:總經理待審批的請假單(所有部門副經理或經理狀態為待批的請假單,或3天以上部門經理批准過的請假單)選單過濾條件:

','=',60),('','=',61),('state','=','wait_prove'),'&',('state','=','depmanager_proved'),('tians','>',3)](a or b and c)or(d and e)or(f and g)

a,b,c,'&',d,e,'&',f,g]

eg:總經理全部的請假單(所有部門副經理或經理狀態為待批的請假單,或3天以上部門經理批准過的請假單,或3天以上狀態為同意或駁回的請假單據)選單過濾條件:

','=',60),('','=',61),('state','=','wait_prove'),'&',('state','=','depmanager_proved'),('tians','>',3),'&',('state','in',['proved','rejected']),('tians','>',3)]

表示式求值

課程設計報告 課程名稱資料結構 課題名稱表示式求值 專業電腦科學與技術 班級0901 學號 200903010102 姓名覃宇星 指導教師李珍輝鄧作傑郭芳 2011年7月7日 湖南工程學院 課程設計任務書 課程名稱 c語言程式設計 課題表示式求值 專業班級計算機0901 學生姓名 學號指導老師周鐵山...

正規表示式

c 正規表示式經典分類整理集合手冊 作者 發布日期 2009 03 27 有一段時間,正規表示式學習很火熱很潮流,當時在csdn一天就能看到好幾個正規表示式的帖子,那段時間借助論壇以及wrox press出版的 c 字串和正規表示式參考手冊 學習了一些基礎的知識,同時也為我在csdn大概賺了1000...

Lambda表示式詳細總結

lambda簡介 lambda運算子 所有的lambda表示式都是用新的lambda運算子 可以叫他,轉到 或者 成為 運算子將表示式分為兩部分,左邊指定輸入引數,右邊是lambda的主體。lambda表示式 1.乙個引數 param expr 2.多個引數 param list expr 一 輸入...