Django學習(五)-------Django關於資料庫的操作(增刪改查)
阿新 • • 發佈:2021-01-30
技術標籤:Django學習mysqldjangopython
Django關於資料庫的操作(增刪改查)
首先配置urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^login$', views.login),
url(r'^dbsave$',views.dbSave),#儲存
url(r'^dbsearch$',views.dbSearch),#查詢
url(r'^dbupdate$',views.dbUpdate),#修改
url( r'^dbdelete$',views.dbDelete),#刪除
]
然後是views.py
具體增刪改查的實現在程式碼中進行了詳細註釋。
# -*- coding: utf-8 -*-
from django.shortcuts import render
from django.http import HttpResponse
from untitled2.models import testUser
def login(request):
return render(request, 'login.html')
#新增資料
def dbSave(request):
user = testUser(id=2,name='lisi',age='20',password='123')
user.save()
return HttpResponse("<p>資料新增成功!</p>")
#獲取資料
def dbSearch(request):
# 初始化
response = ""
response1 = ""
# 通過objects這個模型管理器的all()獲得所有資料行,相當於SQL中的SELECT * FROM 表
list = testUser.objects.all( )
# filter相當於SQL中的WHERE,可設定條件過濾結果
#response2 = testUser.objects.filter(name='zhangsan')
# 獲取單個物件
# response3 = testUser.objects.get(name='zhangsan')
# 限制返回的資料 相當於 SQL 中的 OFFSET 0 LIMIT 2; Test.objects.order_by('name')[0:2]
# 資料排序
#testUser.objects.order_by("id")
# 上面的方法可以連鎖使用
#testUser.objects.filter(name="runoob").order_by("id")
# 輸出所有資料
for var in list:
response1 += var.name + " "
response = response1
return HttpResponse("<p>" + response + "</p>")
#更新資料
#修改資料可以使用 save() 或 update():
def dbUpdate(request):
test1 = testUser.objects.get(name='zhangsan')
#修改其中一個name=zhangsan的age欄位,再save,相當於SQL中的UPDATE
test1.age = '23'
test1.save()
#另外一種方式
#testUser.objects.filter(name='zhangsan').update(age='20')
#修改所有的列 # testUser.objects.all().update(name='Google')
return HttpResponse("<p>修改成功</p>")
#刪除資料
#刪除資料庫中的物件只需呼叫該物件的delete()方法即可
def dbDelete(request):
# 刪除name='zhangsan'的資料
test1 = testUser.objects.get(name='zhangsan')
test1.delete()
# 另外一種方式
# testUser.objects.filter(name='zhangsan').delete()
# 刪除所有資料
# testUser.objects.all().delete()
return HttpResponse("<p>刪除成功</p>")
執行結果
新增資料的測試
在瀏覽器訪問:http://127.0.0.1:8000/dbsave
頁面
資料庫中
查詢資料的測試
在瀏覽器訪問:http://127.0.0.1:8000/dbsearch
頁面
資料庫中
修改資料的測試
在瀏覽器訪問:http://127.0.0.1:8000/dbupdate
頁面
資料庫中(可以看到年齡由20變為23)
刪除資料的測試
在瀏覽器訪問:http://127.0.0.1:8000/dbdelete
頁面
資料庫中
參考連結:菜鳥教程