日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3.odoo的学习(odoo中的视图:tree视图、form视图、search视图)

發(fā)布時間:2024/9/30 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3.odoo的学习(odoo中的视图:tree视图、form视图、search视图) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

1.什么是視圖

2.視圖的聲明方式

3.tree視圖

4.form視圖

5.search視圖

6.優(yōu)先級


1.什么是視圖

????????在Odoo中,視圖(view)定義了模型記錄的顯示方式。 每種類型的視圖代表一種可視化模式(如列表、表單、看板、日歷等)。?一個模型可以定義多種類型的視圖,同一類型的視圖也可以定義多個,Odoo通過優(yōu)先級或者指定視圖ID的方式來進行選擇匹配。Odoo中的視圖也可以利用繼承的方式來對原有的視圖進行二次開發(fā)修改。

????????視圖用來向用戶展示模型中的數(shù)據(jù),依賴于模型而存在,決定了相關(guān)頁面數(shù)據(jù)的展現(xiàn)方式,常見的的視圖包括:treeformsearchkanbangraph,企業(yè)版支持更多的視圖形式,如:ganttdashboard

2.視圖的聲明方式

Odoo中的視圖定義是通過XML格式來定義,在安裝模塊時,這部分定義的XML會定入模型ir.ui.view中,一個視圖定義是該模型的一筆數(shù)據(jù)記錄,通用的格式為

<odoo><record model="ir.ui.view" id="view_id"><field name="name">視圖名稱</field><field name="model">視圖綁定的模型</field><!-- eval代表模型的優(yōu)先級,如果有相同類型的視圖,會使用優(yōu)先級高的 --><field name="priority" eval="16"></field><!-- arch 的類型必須指定為xml,內(nèi)部嵌套具體的視圖 --><field name="arch" type="xml"><!-- view content: <form>, <tree>, <graph>, ... --></field></record> </odoo> # ir.ui.view 代表數(shù)據(jù)庫中表對應(yīng)的視圖的模型
  • 和action的聲明方式比較類似,固定的,使用record標簽包裹起來,

  • 視圖的聲明的model是ir.ui.view

  • 這里定義的時候注意view_id不要包括符號點(.),否則Odoo會將點號前面的部分當成是模塊名稱

  • 視圖需要綁定模型,如上圖的第二個field,綁定的模型類如:meet.meet_room
    即:應(yīng)用名稱.模型類名稱

  • name="priority", 如果存在多個視圖,可以設(shè)定優(yōu)先級,看具體哪個視圖起作用

  • ?name="arch", 在這里面就可以寫具體的視圖了,tree視圖、form視圖等等,所有不同視圖的定義XML內(nèi)容放在arch字段里面。

3.tree視圖

樹視圖(也稱為列表視圖)以表格形式顯示記錄。根元素是<tree>。 最簡單的樹形視圖只列出要顯示的所有字段(每個字段作為列)

<record model="ir.ui.view" id="testroom_list_view"><field name="name">TestRoomList</field><field name="model">test.test_room</field><field name="arch" type="xml"><tree><field name="name" string="科目名稱"/><field name="seat_num"/></tree></field> </record>
  • tree標簽下,就可以使用模型類里面的字段了,設(shè)置幾個field,應(yīng)用就顯示幾個
  • name="模型類的字段名稱"
  • string代表可以修改他們顯示的名稱,即列名,實際上是優(yōu)先級高于模型類的字段名

例如,如下的tree中加入了兩個模型類的字段就會顯示出來

?

4.form視圖

????????表單用于創(chuàng)建和編輯單個記錄。根元素是<form>。 它們由高級結(jié)構(gòu)元素(group、notebook)和交互元素(button、fields)組成:

<record model="ir.ui.view" id="testroom_form_view"><field name="name">testroom.form</field><field name="model">test.test_room</field><field name="priority" eval="10"></field><field name="arch" type="xml"><form string="TestRoom Form"><group><field name="name" string="名稱"/><field name="seat_num"/></group></form></field> </record>
  • 也是在name="arch"的field的標簽下,進行編寫
  • 是一種向下排列的樣式,也就是默認數(shù)模
  • group就是讓字段名,也就是列名顯示出來,string的用法同上

  • group默認是豎著排列,如果想要橫向拍了列,所以可以這樣寫,col="2",是兩列的意思 <record model="ir.ui.view" id="testroom_form_view"><field name="name">testroom.form</field><field name="model">test.test_room</field><field name="priority" eval="10"></field><field name="arch" type="xml"><form string="TestRoom Form"><group col="2"><group><field name="name" string="名稱"/></group><group><field name="seat_num"/></group></group></form></field> </record>

    注意是,最外層也是group,里層也是group

  • ?可以加 header標簽,顯示的內(nèi)容能高點,一般寫button等元素
<record model="ir.ui.view" id="testroom_form_view"><field name="name">testroom.form</field><field name="model">test.test_room</field><field name="arch" type="xml"><form string="TestRoom Form"><header><!-- 此處可以放一些自定義的button元素 --><button string="按鈕">按鈕</button></header><sheet><!-- 對內(nèi)容進行分組,可以在string中寫分組名稱,也可以寫在其內(nèi)的separator標簽中 --><group string=""><separator string="考場管理"/><field name="name" string="科目"/><field name="seat_num"/></group><!-- 使用noteboook標簽定義標簽區(qū)域 --><notebook><!-- 使用page定義不同的標簽頁,string為標簽的名稱 --><page string="科目">這里是科目的描述,里面可以加其他的標簽<group><field name="name" string="科目"/></group></page><page string="座位數(shù)量">這里是座位數(shù)量的描述,里面可以加其他的標簽<group><field name="seat_num"/></group></page></notebook></sheet></form></field> </record>

?

  • 里面會有header標簽,里面一般是寫一些button之類的元素
  • form的主體部分sheet,
  • group也可以自己定義string
  • separator是分組的一個標題,我們可以自己定義
  • notebook是標簽欄,notebook里面需要定義page,一個page就是一個標簽
  • 比較靈活,也可以把標簽放到notebook里面
  • 如果不想讓一個字段修改,但可以顯示可以使用readonly='1'屬性

5.search視圖

搜索視圖自定義與列表視圖(以及其他聚合視圖)關(guān)聯(lián)的搜索字段。根元素是<search>,它們由定義可以搜索哪些字段的字段組成

search可以控制頁面搜索框的搜索內(nèi)容,當只有沒有定義search時,默認搜索模型的name字段

<record model="ir.ui.view" id="testroom_search_view"><field name="name">testroom.search</field><field name="model">test.test_room</field><field name="arch" type="xml"><search><field name="name"/><field name="seat_num"/></search></field> </record>
  • 在odoo中搜索是包含的搜索方式

  • 對數(shù)字是比較精確的,等于的方式

  • 如果你開發(fā)的模型沒有定義搜索視圖,則Odoo會自動生成僅允許在名稱字段上搜索的視圖。

然后看運行結(jié)果,搜索時候,就不僅僅能搜名稱了 ,座位數(shù)也可以搜索了

6.優(yōu)先級

<field name="priority" eval="10"></field>

  • 屬性值的值越小,優(yōu)先級越高
  • 如果有id為一樣的視圖,后面的視圖會把前面的視圖覆蓋掉,所以有多個視圖時候,要保證id的值要不同。

B站up主主頁?

單三er的個人空間_嗶哩嗶哩_Bilibili單三er,野生odoo愛好者;單三er的主頁、動態(tài)、視頻、專欄、頻道、收藏、訂閱等。嗶哩嗶哩Bilibili,你感興趣的視頻都在B站。https://space.bilibili.com/419877109

總結(jié)

以上是生活随笔為你收集整理的3.odoo的学习(odoo中的视图:tree视图、form视图、search视图)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。