models里面是模型,ORM對象關系映射,面向對象訪問數據庫,不寫sql。
# -*- coding: utf-8 -*- from odoo import models, api, fields, _ class Test(models.Model): # 模型唯一標識(對應數據表為product_manage_product) _name = 'product_manage.product' # 數據顯示名稱,如設置則返回其指定的字段值 _rec_name = 'test_field' # 字段 test_field = fields.Char(string="字段名稱")
說明:
- 一個類就是一張表
- 繼承,models.Model
類變量:
表名“classroom_teacher”,規則,前面是這個模塊名,后面是自定義 _name = "classroom.teacher"
常用字段,需要引入 from odoo import fields
定義對象類型
基礎類型:char, text, boolean, integer, float, date, time, datetime, binary;
復雜類型:selection
關系類型:Many2many,Many2one,One2many。
<h3>基礎型</h3>
<h3>復雜型</h3>
selelction下拉框:
hobby = fields.selection([('0','火影'),('1','海賊'),('2','鋼煉')],default=‘0’,string='愛好')
<h3>關系型</h3>
many2many2 多對多
One2many 一對多
Many2one 多對一
name = fields.Char() required=True 必填 string 界面label的值 字段標簽 help 界面tooltip index 是否創建數據庫索引 簡單字段類型Boolean, Integer,Float,Monetary, Char,Text,Html,Date,Datetime,Binary,Selection,Reference 不可再分 保存單一數據 保留字段 id, create_date, create_uid, write_date, write_uid 會隨模型一起在表中建立(請勿重復定義)