[前言]
在django views
视图层中,实现基本的增删改查
,框架自带的objects
增删改查方法,功能有限且要记住繁琐的封装的方法名,所以也可以使用connections
包,实现原生sql
的增删改查
[系统]
windows all/unix all
[版本]
django v3.2 mysql v5.7python v3.6
[代码]
# 加载随机数模块 import random # 渲染html模板文件 from django.shortcuts import render # 返回数据 from django.http import HttpResponse,JsonResponse # 序列化包,包括序列化成json数据 from django.core import serializers # 从同级目录中加载models里面的users数据表 from .models import users # 引入connection才能执行原生增删改操作,查询可以用objects.raw()方法 from django.db import connection # Create your views here. def index(request): # views数组打印,访问url地址,在控制台可见,浏览器不可见 # arr = [4,5,6] # for i in arr: # print(i) # return HttpResponse('end') # obejects.all() 返回一个查询集(QuerySet),包含了模型中的所有对象,多条记录 # user = users.objects.all() # userJson = serializers.serialize('json',user) # obejects.all() 返回一个列表,单条记录 # user = users.objects.get(userName='hu') # userJson = serializers.serialize('json',[user]) # 增加数据 # createRes = users.objects.create(userName='hu_' str(random.random()),userGender=1) # print(serializers.serialize('json',[createRes])) # 判断可能无效,新增数据失败会抛出异常,可能要写try捕获异常 # if createRes.id: # return JsonResponse({'code':4001,'msg':'新增数据成功'},safe=False) # else: # return JsonResponse({'code':4000,'msg':'新增数据失败'},safe=False) # 删除数据 # delRes = users.objects.filter(id=48).delete() # 返回了一个元祖,通过下标输出,有点类似php索引数组 # if delRes[0]: # return JsonResponse({'code':4001,'msg':'删除数据成功'},safe=False) # else: # return JsonResponse({'code':4000,'msg':'删除数据失败'},safe=False) # 更新数据 # 字段__gt=number:某个字段大于某个值 # 字段__gte=number:某个字段大于等于某个值 # 字段__lt=number:某个字段小于某个值 # 字段__lte=number:某个字段小于等于某个值 # updateRes = users.objects.filter(id__gt=300).update(userName='wang_' str(random.random())) # 返回受影响的行数 # if updateRes>0: # return JsonResponse({'code':4001,'msg':'更新数据成功,更新' str(updateRes) '行'},safe=False) # else: # return JsonResponse({'code':4000,'msg':'更新数据失败,更新' str(updateRes) '行'},safe=False) # 运行查询数据原生sql # sql = "select * from web_users" # res = users.objects.raw(sql) # resJson = serializers.serialize('json', res) # print(resJson) # return HttpResponse(resJson) # 运行增加数据原生sql # conRes = connection.cursor() # sql = "insert into web_users (userName,UserGender) values ('wang',1)" # InsertRes = conRes.execute(sql) # resJson = serializers.serialize('json', res) # print(type(InsertRes)) # return HttpResponse(resJson) # 返回int类型的数字,应该是插入的行数,失败还是会抛出异常,所以判断不起作用 # if InsertRes>0: # return JsonResponse({'code':4001,'msg':'新增数据成功'},safe=False) # else: # return JsonResponse({'code':4000,'msg':'新增数据失败'},safe=False) # 运行删除数据原生sql # conRes = connection.cursor() # sql = "delete from web_users where id>50" # deltRes = conRes.execute(sql) # resJson = serializers.serialize('json', res) # print(deltRes) # return HttpResponse(resJson) # 返回int类型的数字,应该是删除的行数 # if deltRes>0: # return JsonResponse({'code':4001,'msg':'删除数据成功'},safe=False) # else: # return JsonResponse({'code':4000,'msg':'删除数据失败'},safe=False) # 运行更新数据原生sql # conRes = connection.cursor() # sql = "update web_users set userName='hu' where id=50" # updateRes = conRes.execute(sql) # resJson = serializers.serialize('json', res) # print(updateRes) # return HttpResponse(resJson) # 返回int类型的数字,应该是影响的行数 # if updateRes>0: # return JsonResponse({'code':4001,'msg':'更新数据成功,更新' str(updateRes) '行'},safe=False) # else: # return JsonResponse({'code':4000,'msg':'更新数据失败,更新' str(updateRes) '行'},safe=False) # user = list(user) # print(type(user)) # return JsonResponse(user,safe=False) # print(userJson) return HttpResponse('end')
[下载]
本站不直接提供下载,所有下载链接均为第三方