iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
Odoo

Odoo16 入門介紹系列 第 11

Day11_odoo_Many2one

  • 分享至 

  • xImage
  •  

Many2one

了解Many2one的第一件事,誰是Many誰是One,我們簡單的創建一個Many2onefields:

class BookName(models.Model):
    _name = 'book.name'
    _description = "book's name model"
    
    name = fields.Char(string='Name', required=True)
    book_id = fields.Many2one('category', string='Category', required=True)

從上面的範例中,我們可以看到
book_id = fields.Many2one('category',string='Category',required=True
其實很簡單,左邊的book_idMany,右邊的bossone,也就是說多個BookName中的欄位,關聯一個Category,其對應就是在Category的DB Table中id的欄位。

Many2one在view當中,它呈現的方式跟fields.Selection()一樣是下拉選單,不過其屬性會跟所設定的屬性不同,會有不同的呈現。

Many2one的parameter:

comodel_name:這是與當前模型建立關係的目標模型的名稱,它是一個字符串,例如 'res.partner',它
表示當前模型的記錄將與 'res.partner' 模型的記錄建立關聯。

string:這是字段的可選標籤,通常是一個人類可讀的字符串,用於界面上顯示字段的標籤。

required:一個布爾值,指定字段是否為必填字段。如果設置為True,用戶必須為這個字段提供值。

readonly:一個布爾值,指定字段是否為只讀字段。如果設置為True,則該字段將只能查看,不能編輯。

ondelete:指定當目標記錄被刪除時,如何處理關聯的記錄。常見的值包括 set null(將關聯字段設置為空) 和 cascade(刪除關聯的記錄)。

domain:一個選擇器函數或域列表,用於篩選可選擇的目標記錄。

context:一個字典,用於設置與這個字段相關的上下文,可以在計算字段值時使用。

help:一個字符串,用於提供有關字段用途的說明。

index:一個布爾值,指定是否在該字段上建立數據庫索引。通常在大型數據集上查詢這個字段時使用。

delegate:一個布爾值,指定是否在目標模型中尋找其他字段的參考。這在多個Many2one字段引用相同模型時很
有用。

其實也可以這樣去想,書本會有很多本,但是對應的種類只有一個,這就是Many2one


上一篇
Day10_odoo_使用SQL
下一篇
Day12_odoo_Many2many
系列文
Odoo16 入門介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言