哈6夥伴們,這一路下來說明了一些簡單的API,不知道夥伴們有沒有發現,其實有些函式是常常使用的呢~~ 因為常常會使用到,我個人覺得是很重要的一環,所以分享給夥伴們,廢話不多說,我們馬上進入今天要來說明的主題,今天的主題就是CRUD,你問我甚麼是CRUD?
CRUD就是今天我們想要透過API在資料庫、後台,針對資料所做出的動作,就像我做筆記寫進去,寫了可能要改,寫錯還要刪的概念,而CRUD分別對應四個單字就是「create」、「read」、「update」、「delete」,概念上分別就是「新增/建立」、「讀取/查詢」、「修改/更新」、「刪除」,以下我就分別介紹這些概念在我們練習這麼多API的哪裡吧。
這裡「新增」的部分,我們有使用到的,像是註冊API的 user = UserProfile.objects.create_user(id=id,username=account,account=account,email=email,phone=phone)
,那其實一般創立資料我是使用objects.create,這邊使用create_user,是因為我們要創建使用者資料的時候,Django非常佛心,套件裡面已經有寫好的fucntion給我們做使用,讓我們省了非常大的力氣,未來夥伴們設定好新的model,要新增資料的時候就可以用objects.create,到後台介面管理就可以看到了,跟我們在練習註冊API的時候一樣。
「讀取/查詢」的部分,我們有使用到的,像是註冊API的check_account = UserProfile.objects.filter(account=account).first()
,以及信箱驗證API的user = UserProfile.objects.get(email=email)
,filter的用法就是查詢多筆符合條件的資料,而first只是多筆資料中的第一筆,主要還是filter,get的用法與filter的用法幾乎一樣,差別在於filter是查詢多筆符合的資料,get只能查詢一筆符合條件的資料,所以若是用get查詢符合條件的資料有兩筆以上的話,他就會報錯,這時候只要改用filter就行,如果夥伴們想知道抓出來是甚麼的話,或者想確認有沒有查詢到自己想要的資料,把他印出來就行了。
「修改/更新」的部分,我在重設、找回密碼都有使用過user.save()
,還有另一種方法就是使用filter().update()
,照兩者是有差別的,這邊我們不做深入的討論,不過我會附官方文件在文章下方,有興趣的夥伴可以看看。
「刪除」我們在這邊沒有用上,但是也是一個很基本的功能之一,畢竟有增就有減,程式碼大概長這樣filter().delete()
跟update有點像。
在開頭我也有說,我自己認為CRUD是很重要的一個部分,所以拿出來分享給夥伴們,畢竟我們資料拿拿去去是常有的事情,然後明天我想跟大家分享的是我自己除錯的一些小技巧,夥伴們一起加油吧!! ㄅㄅ 明天見~~