Django数据库操作实战:MySQL增删改查完整指南
本文详细解析Django框架下对MySQL数据库进行增删改查的完整流程。涵盖models.py模型定义、views.py业务逻辑处理及urls.py路由配置,通过具体代码示例展示数据创建、查询、更新与删除的实现方法,帮助开发者快速掌握Django数据库交互核心技能。
接下来将详细介绍在Django框架中如何执行数据库的增删改查操作。
第一步:配置视图文件 view.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.http import HttpResponse
from polls.models import Test
from django.shortcuts import render
# Create your views here.
# 解决乱码
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
# 数据库操作
def testdb(request):
test1 = Test(name='温鸿雨2')
test1.save()
return HttpResponse("<p>数据添加成功!</p>")
# 查询数据库
def selectDB(request):
# 通过objects这个模型管理器的all()获得所有数据行,相当于SQL中的SELECT * FROM
list = Test.objects.all()
returnvalue = []
for v in list:
returnvalue.append(v.name)
print v.name
print "++++++++++++获取单个对象++++++++++++++++++"
# 获取单个对象
response1 = Test.objects.filter(id=1)
print response1
for v1 in response1:
returnvalue2 = "id : ", v1.id, " 姓名:", v1.name
print returnvalue2
print "++++++++++++限制返回的数据 相当于 SQL 中的 OFFSET 0 LIMIT 2;++++++++++++++++++"
response2 = Test.objects.order_by('name')[0:2]
returnvalue3 = {}
for v2 in response2:
returnvalue3[v2.id] = v2.name
print returnvalue3.items()
print "+++++++++++输出结果:++++++++++++++++++++++++++++++"
return HttpResponse(returnvalue3.items())
#修改数据可以使用 save() 或 update():
def updateDB(request):
# 修改其中一个id=1的name字段,再save,相当于SQL中的UPDATE
test1 = Test.objects.get(id=1)
test1.name = 'Google'
test1.save()
# 另外一种方式
#Test.objects.filter(id=1).update(name='Google')
# 修改所有的列
# Test.objects.all().update(name='Google')
return HttpResponse("更新数据成功")
def deleteDB(request):
# 删除id=1的数据
test1 = Test.objects.get(id=3)
test1.delete()
return HttpResponse("删除数据成功")
第二步:配置路由文件 urls.py
"""pythondjango URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/1.11/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.contrib import admin
from BlogDjango import views
from polls import views as pollsviews, search, search2
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/+\d', views.hello),
url(r'^base/', views.base),
url(r'^testdb$', pollsviews.testdb),
url(r'^querydb$', pollsviews.selectDB),
url(r'^updateDB$', pollsviews.updateDB),
url(r'^deleteDB$', pollsviews.deleteDB),
]
第三步:定义数据模型 models.py
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models # Create your models here. class Test(models.Model): name = models.CharField(max_length=20)
以上就是Django结合MySQL数据库进行增删改查操作的完整分享,希望能为各位开发者提供有价值的参考,也欢迎大家继续支持本站获取更多技术内容。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













