模型實(shí)例方法
str():在將對象轉(zhuǎn)換成字符串時會被調(diào)用。
save():將模型對象保存到數(shù)據(jù)表中,ORM框架會轉(zhuǎn)換成對應(yīng)的insert或update語句。
delete():將模型對象從數(shù)據(jù)表中刪除,ORM框架會轉(zhuǎn)換成對應(yīng)的delete語句。
模型類的屬性
屬性objects:管理器,是Manager類型的對象,用于與數(shù)據(jù)庫進(jìn)行交互。
當(dāng)沒有為模型類定義管理器時,Django會為模型類生成一個名為objects的管理器,自定義管理器后,Django不再生成默認(rèn)管理器objects。
管理器是Django的模型進(jìn)行數(shù)據(jù)庫操作的接口,Django應(yīng)用的每個模型都擁有至少一個管理器。Django支持自定義管理器類,繼承自models.Manager。
自定義管理器類主要用于兩種情況:
1.修改原始查詢集,重寫all()方法
2.向管理器類中添加額外的方法,如向數(shù)據(jù)庫中插入數(shù)據(jù)。
1.修改原始查詢集,重寫all()方法。
#圖書管理器 class BookInfoManager(models.Manager): def all(self): #默認(rèn)查詢未刪除的圖書信息 #調(diào)用父類的成員語法為:super().方法名 return super().all().filter(isDelete=False)