前言
如果完全不瞭解Django的ORM模型建議你先看一下博主寫的ORM模型的入門
當我們使用ORM模型創建好數據庫後,就需要開始增刪改查的操作。
對數據庫的增刪改查前,我們先要引入ORM模型,如果爲同一個APP下的ORM模型引入方式如下from .models import 類名
,如果不同類型,只需加入APP名即可from APP名.models import 類名
爲了方便下列暫時,我當前創建的表如下
class People(models.Model):
角色 = models.CharField(max_length=20)
介紹 = models.TextField()
當前時間 = models.DateTimeField(auto_now=True)
增
直接使用類名,其中的數據中爲表頭=內容
,並且使用.save()
方法保存表即可
people = People(角色='尋覓', 介紹='天真無邪')
people.save()
保存成功後會返回一個對象,其中包含數據保存到的pk(主鍵)值
查
這裏簡單介紹一些查的方法,之後我會專門寫一篇文章來詳細講述各種條件查詢的方式。
查數據有多重方法可以使用,分別是.get()
、.filter()
與.exclude()
。我們還可以使用all()
查詢所有數據。
簡單查詢我們可以使用.get(表頭名=值)
的形式,其中有一向比較特殊的就是pk,pk相當於主鍵的表頭,無論主鍵的表頭叫什麼都可以使用pk進行表示。
顯示數據
我們查詢出來默認會是一個對象,如何讓其顯示爲數據庫中的數據,這裏有兩種方式,其一是使用對象.表頭
,另一種方式是在模型中添加def __str__(self):
這個魔法方法。
比如說我們可以將下列代碼添加到模型中,我們查詢出來的數據即可直接獲得下列形式。但同時對象.表頭
的形式也同樣能正常使用
def __str__(self):
return '角色:{}, 介紹:{}, 更新時間:{}'.format(self.角色, self.介紹, self.當前時間)
uid = People.objects.get(pk=19)
print(uid)
print(uid.介紹)
name = People.objects.get(角色='弓兵')
print(name)
print(name.介紹)
all_ = People.objects.all()
print(all_)
這裏需要注意的是,如果在模板中使用對象.表頭
的方式調用的時間會自動變成當前時區的時間,但使用__str__
讀取的時間不會自動變化時區
刪
刪除數據我們需要先使用查詢數據的方式查詢到指定數據在使用.delete()
即可刪除
uid = People.objects.get(pk=19)
uid.delete()
改
修改數據同樣需要先找到數據,根據找到的對象.表頭 = 修改內容
即可修改數據和添加數據相同都要使用.save()
方法保存數據
name = People.objects.get(角色='弓兵')
name.介紹 = '不會近戰的弓兵不是好弓兵'
name.save()