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
页面
数据库中
参考链接:菜鸟教程