iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0

哈6夥伴們,這一路下來說明了一些簡單的API,不知道夥伴們有沒有發現,其實有些函式是常常使用的呢~~ 因為常常會使用到,我個人覺得是很重要的一環,所以分享給夥伴們,廢話不多說,我們馬上進入今天要來說明的主題,今天的主題就是CRUD,你問我甚麼是CRUD?

CRUD就是今天我們想要透過API在資料庫、後台,針對資料所做出的動作,就像我做筆記寫進去,寫了可能要改,寫錯還要刪的概念,而CRUD分別對應四個單字就是「create」、「read」、「update」、「delete」,概念上分別就是「新增/建立」、「讀取/查詢」、「修改/更新」、「刪除」,以下我就分別介紹這些概念在我們練習這麼多API的哪裡吧。

create

這裡「新增」的部分,我們有使用到的,像是註冊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的時候一樣。

read

「讀取/查詢」的部分,我們有使用到的,像是註冊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就行,如果夥伴們想知道抓出來是甚麼的話,或者想確認有沒有查詢到自己想要的資料,把他印出來就行了。

update

「修改/更新」的部分,我在重設、找回密碼都有使用過user.save(),還有另一種方法就是使用filter().update(),照兩者是有差別的,這邊我們不做深入的討論,不過我會附官方文件在文章下方,有興趣的夥伴可以看看。

delete

「刪除」我們在這邊沒有用上,但是也是一個很基本的功能之一,畢竟有增就有減,程式碼大概長這樣filter().delete()跟update有點像。

在開頭我也有說,我自己認為CRUD是很重要的一個部分,所以拿出來分享給夥伴們,畢竟我們資料拿拿去去是常有的事情,然後明天我想跟大家分享的是我自己除錯的一些小技巧,夥伴們一起加油吧!! ㄅㄅ 明天見~~


上一篇
[Day27] 找回密碼API、重設密碼API – urls、測試階段
下一篇
[Day29] 除錯(debug)的心得
系列文
暑假旅程之自學Django30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言