開發流程的學習,用於快速熟悉Django框架各個模塊
一、數據測試
Django自帶了ORM模塊,我們只需要熟悉常用的ORM操作即可通過面向對象的形式來完成原有SQL語句才能做到的增刪改查。
在尚未啓動服務器時,使用shell命令是操作數據庫非常方便的測試環境
在manage.py 同級目錄下進入python shell,進行簡單的模型API練習
python manage.py shell
二、基本對象數據測試
引入需要的包:
from booktest.models import Book,Hero
1,查詢所有圖書信息:
Book.objects.all()
django模型類自帶管理器objects 可以直接調用響應的方法
2,新建圖書信息:
b = Book()
b.title=“射鵰英雄傳”
b.save()
當調用save方法是 會將數據存儲進入數據庫
4,修改圖書信息:
b.price=3.5
b.save()
當調用save方法是相當於執行了update方法
5,刪除圖書信息:
b.delete()
執行delete時將數據苦衷對應的數據刪除
三、關聯對象的操作
當相關對象存在一對一、一對多、多對多關係時可以使用關聯查詢,此處僅以一對多舉例,後續課程中會有多對多,一對一關係。
1、創建關聯對象
h=Hero()
h.name=‘郭靖’
h.content=‘降龍十八掌’
h.book=b
h.save()
book字段爲Hero表中的外鍵,此處必須按照外鍵相關約束賦值
2、一對多關係中通過多方找一方,此處案例爲通過英雄找書
h.book.name
因爲關係字段就存儲在多方,可通過多方中的關鍵字段找一方
3、一對多關係中通過一方找多方,此處案例爲通過書找到其中的所有英雄
b.hero_set.all()
一方對象.小寫多方類名.all()
4、如果在定義外鍵是使用了字段related_name
則可以直接使用其值替換hero_set如
book = models.ForeignKey(Book,on_delete=models.CASCADE,related_name=‘heros’)
查詢是就可以使用
b.heros.all()
ORM提供了非常多的面向對象語句,此處僅列舉最廣泛使用的,後續課程中會應用到更多的ORM語句