1. 程式人生 > 其它 >11.-ORM-基本操作-建立資料

11.-ORM-基本操作-建立資料

一、ORM-操作 基本操作包括增刪改查,即(CRUD)操作 CRUD是指在做計算處理時增加(create)、讀取查詢(read)、更新(update)、刪除(delete) ORM CRUD 核心 - > 模型類管理物件 二、管理器物件 每個繼承自models.Model的模型類,都會有一個objects物件被同樣繼承下來,這個物件叫管理器物件 資料庫的增刪改查可以通過模型的管理器實現 三、建立資料 Django ORM 使用一種直觀的方式把資料庫表中的資料表示成python物件 建立資料中每一條記錄就是建立一個數據物件 方案1.MyModel.objects.create(屬性1=值1,屬性2=值2...) 方案2. 建立MyModel例項物件,並呼叫save進行儲存 obj = MyModel(屬性=值,屬性=值) obj.屬性=值 obj.save() 四、Django Shell
在Django提供了一個互動式的操作專案叫做Django Shell 它能在互動模式用專案工程的程式碼執行相應的操作 利用Django shell 可以代替編寫view的程式碼來直接進行操作 注意:專案程式碼發生變化時,重新進入Django shell 啟動方式: 專案下 python3 manage.py shell 使用方式1 在shell內 匯入需要操作的model from 應用名.models import 模型類名 s = Book.objects.create(title='python') 然後會資料庫插入一條title為python的資料 使用方式2. 在shell內 匯入需要操作的model from 應用名.models import 模型類名 s = Book(title='python') s.title = 'python' s.save() 然後會資料庫插入一條title為python的資料 在views檢視可以用同樣的方式進行資料庫操作 五、查詢簡介
資料庫的查詢需要使用管理器物件進行 通過MyModel.objects管理器方法呼叫查詢方法 只要是模型類,就有objects物件 常用方法: all() 用法:MyModel.objects.all() 作用:查詢MyModel實體中所有的資料 等同於select * from table; 返回值:QuerySet容器物件內部存放MyModel例項 values('列1','列2'..) 用法:MyModel.objcts.values(..) 作用:查詢部分列的資料並返回 等同於select 列1,列2 from xxx 返回值:QuerySet 返回查詢結果容器,容器記憶體字典,每個字典代表一條資料 格式:{'列1':值1,'列2':值2} values_list
('列1','列2'..) 用法:MyModel.objects.values_list() 作用:返回元組形式的查詢結果 等同於 select 列1,列2 from xxx 返回值:QuerySet容器物件,內部存放元組 會將查詢出來的資料封裝到元組中,再封裝到查詢集合QuseySet中 order_by() 用法:MyModel.object.order_by('-列','列') 作用:與all()方法不同,它會用sql語句order by子句對查詢結果根據某個欄位選擇性的進行排序 說明:預設是按照升序排序,降序排序需要在列名前面加 ‘-’表示 MyModel.query:可以輸出對應方法對應的sql語句 在模型類中定義__str__方法,可以自定義QuerySet中的輸出格式 def __str__(self): return f'{self.title}{self.name}' just do it .