今天的進度有點像是在蓋一棟樓:
昨天我們打好地基(ORM,資料表結構),今天終於把牆壁和窗戶裝上去了。
簡單講:有了 Team / Member 的 Model,還要有
搜尋、篩選、分組的能力,這樣才算是一個「能用」的 App。
否則所有資料都要土法煉鋼翻 SQL,就跟沒電梯的 20 樓老公寓一樣,累死人。
res.users
。分檔設計:
把 Team
和 Member
拆成兩個 .py,乾淨俐落,免得 import 打架。
Search View (team_views.xml 範例):
<record id="view_team_search" model="ir.ui.view">
<field name="name">team.management.team.search</field>
<field name="model">team.management.team</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<field name="description"/>
<filter string="Has Project" name="has_project" domain="[('project_id','!=',False)]"/>
<group expand="1" string="Group By">
<filter string="Project" context="{'group_by':'project_id'}"/>
</group>
</search>
</field>
</record>
👉 這段就是 UI 上的 搜尋列 + 篩選器 + 分組功能的魔法來源。
UI 看起來就是標準 Odoo
風格,但我們心裡知道:這其實是我們自己從零寫出來的 🛠️。
明天要進入更硬的東西:
新模組「零件庫存 (Parts / Stock)」。
這就好比一個隊伍的武器庫,隊員沒有螺絲起子和零件,就跟沒有輪子的車一樣,性能再好一樣不能動。
所以,Day 09 我們要幫 Odoo 加上「零件管理」這項超能力!⚡