【Django 2021年最新版教程11】数据库删除操作
一、新增多条测试数据
在“【Django 2021年最新版教程8】操作Mysql数据库 mysqlclient安装和使用”介绍了新增数据插入数据库的方法
二、删除操作
1. 修改views.py
使用 QuerySet 类型数据.delete()(推荐)
返回值:元组,第一个元素为受影响的行数。
import datetime
import jsonfrom django.core import serializers
from django.http import HttpResponse, JsonResponse
from django.shortcuts import render# Create your views here.
from userWeb.models import Userdef index(request):return render(request, './userWeb/index.html')# 加法页面
def add(request):return render(request, './userWeb/add.html')# 执行加法
def doadd(request):a = request.POST['a']b = request.POST['b']a = int(a)b = int(b)result = a + b# return HttpResponse(str(result))context = {}context['a'] = acontext['b'] = bcontext['result'] = resultreturn render(request, './userWeb/add_result.html', context)# 增加用户页面
def testUser(request):return render(request, './userWeb/testUser.html')# 执行增加用户
def testAddUser(request):name = request.POST['name']level = request.POST['level']createTime = datetime.datetime.now()user = User.objects.create(name=name, level=level, createTime=createTime)context = {}context['msg'] = '用户新增成功'context['数据库中的id'] = user.idreturn HttpResponse(str(context))# 数据库查询
def testQueryUser(request):total = User.objects.count() # 查询所有数据的总量total_condition = User.objects.filter(level=2).count() # 查询符合条件的数据总量all_user = User.objects.all() # 查询得到所有用户,使用 all() 方法来查询所有内容。可用索引下标取出模型类的对象。all_user_condition = User.objects.filter(level=2) # 查询得到指定条件的所有用户all_user_by_order = User.objects.filter(level=2).order_by('createTime') # 按创建时间从小到大排序,-createTime表示从大到小a_user_by_id = User.objects.filter(pk=3) #pk=3 的意思是主键 primary key=3,相当于 id=3。因为 id 在 pycharm 里有特殊含义,是看内存地址的内置函数 id(),因此用 pk。just_show_some_fields = User.objects.filter(pk=3).values("pk", "name") # 只显示id和name者两个字段print(just_show_some_fields)context = {}context['total'] = total # 查询所有数据的总量context['total_condition'] = total_condition # 查询符合条件的数据总量context['all_user'] = serializers.serialize("json", all_user) # 查询得到所有用户,使用 all() 方法来查询所有内容。可用索引下标取出模型类的对象。context['all_user_condition'] = serializers.serialize("json", all_user_condition) # 查询得到指定条件的所有用户context['all_user_by_order'] = serializers.serialize("json", all_user_by_order) # 按创建时间从小到大排序,-createTime表示从大到小context['a_user_by_id'] = serializers.serialize("json", a_user_by_id) #pk=3 的意思是主键 primary key=3,相当于 id=3。因为 id 在 pycharm 里有特殊含义,是看内存地址的内置函数 id(),因此用 pk。#objects.values()返回django.db.models.query.QuerySet对象,需要将ValuesQuerySet对象需要先转换成listcontext['just_show_some_fields'] = json.dumps(list(just_show_some_fields)) # 只显示id和name者两个字段return JsonResponse(context)# 数据库修改
def testUpdateUser(request):# 查询出指定的用户userid=request.GET.get('userid', None)if userid is None:return HttpResponse("必须传递userid参数")# 修改前before_update = User.objects.filter(pk=userid) #pk=3 的意思是主键 primary key=3,相当于 id=3。因为 id 在 pycharm 里有特殊含义,是看内存地址的内置函数 id(),因此用 pk。context = {}context['before_update'] = serializers.serialize("json", before_update)# 将该用户的level修改为10,返回值:整数,受影响的行数result = User.objects.filter(pk=userid).update(level=10)# 修改后after_update = User.objects.filter(pk=userid) #pk=3 的意思是主键 primary key=3,相当于 id=3。因为 id 在 pycharm 里有特殊含义,是看内存地址的内置函数 id(),因此用 pk。context['after_update'] = serializers.serialize("json", after_update)context['the_number_of_rows_affected'] = resultreturn JsonResponse(context)# 数据库删除
def testDeleteUser(request):# 将该用户的level修改为10,返回值:整数,受影响的行数result = User.objects.filter(pk__in=[2,3]).delete()context = {}context['msg'] = "删除成功"context['the_number_of_rows_affected'] = resultreturn JsonResponse(context)
2. 修改urls.py
3.效果
三、还有一种删除方法
请参考https://www.runoob.com/django/django-orm-1.html
【Django 2021年最新版教程11】数据库删除操作相关推荐
- python django前端重构_django修改models重建数据库的操作
第二次修改models.py以后再次 python manage.py makemigrations 提示如下 You are trying to add a non-nullable field ' ...
- mysql数据库删除操作指令_MySQL删除数据库的命令是什么?
删除数据库的命令是:"DROP DATABASE 数据库名;":例"drop database student;"就是删除名为student的数据库." ...
- go语言mysql删除记录_MySQL数据库删除操作-Go语言中文社区
删除数据库 DROP DATABASE [IF EXISTS] 数据库名; 例如:删除school数据库 IF EXISTS 为可选,判断是否存在,如果不存在则会抛出异常 删除数据表 DROP TAB ...
- Django搭建简易博客教程(四)-Models
原文链接: http://www.jianshu.com/p/dbc4193b4f95 Django Model 每一个Django Model都继承自django.db.models.Model 在 ...
- mysql注释符号_MySQL基础知识(2021最新版教程)
一.MySQL简介 MySQL是一种开放源代码的关系型数据库管理系统,使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理. MySQL是开放源代码的,因此任何人都可以在General ...
- 关于部署Django到阿里云服务器教程
部署Django到阿里云服务器教程 基于Ubuntu16.04 + Python3 + nginx + mysql + Django 欢迎访问我自己的博客网站:www.fengwanqing.xin ...
- cacti php zombie,Cacti1.2.x新版教程之监控本机
Cacti1.2.x新版教程之监控本机(吴昊博客独家首发)(二) 本文最后修改时间2021.03.17 上一篇文章介绍了Cacti1.2.2新版安装部署流程,本文继续来说下cacti监控. 本篇教程基 ...
- 阿里云ECS云服务器租用价格表(2021年最新版)
对于上云用户来说,阿里云ECS云服务器最新的租用价格表是用户比较关心的问题,应部分站长的要求,小编特别在2021年初整理了一份2021年最新版的价格表,还额外附带了一份学生专属的云服务器价格表,以供参 ...
- 77道Spring面试题以及参考答案(2021年最新版)
77道Spring面试题以及参考答案(2021年最新版),分享给大家~ 一.Spring概述 1. 什么是spring? Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目 ...
- XamarinSQLite教程创建数据库
XamarinSQLite教程创建数据库 安装SQLite/SQL Server Compact Toolbox后,就可以使用该插件创建数据库了.操作步骤如下: (1)在Visual Studio中, ...
最新文章
- linux c 屏幕触摸_交互式拼接屏应用互动触摸屏实现大屏幕拼接墙
- CTFshow 反序列化 web269
- Android园区部队人脸识别源码门禁项目讲解
- 计算机图形学画圆和直线代码,计算机图形学作业(中点法画直线和八分画圆法).doc...
- Struts2_3_国际化处理_自定义拦截器_文件上传及下载_OGNL
- 5个衡量软件质量的标准(可自动化)
- centOS7.6 服务器配置环境
- js日期减去日期算出剩余的天数
- 单播、组播(目标广播、多播)、广播、泛洪、洪泛介绍与比较
- Android Launcher负一屏实现方案
- HTTP3 RFC标准正式发布,QUIC会成为传输技术的新一代颠覆者吗?
- 第二章 Spring MVC入门 —— 跟开涛学SpringMVC
- 23王道考研数据操作目录一览
- APIC -- 高级可编程中断控制器
- ARM64下 Kdump Crash
- Kubernetes集群搭建以及基本使用【具详细】;
- 什么是.NET?什么是.NET Framework?
- 百度地图导航及水印(补充)
- LSC局域网屏幕监控系统
- IT工作中必备的工具
热门文章
- 数据仓库入门(实验9)查询多维数据集
- NDK编译mupdf1.1小记
- 学习FFmpeg API – 解码视频
- 微信小程序-day1
- DeepWalk学习
- linux下运行jar
- 544. Top k Largest Numbers【medium】
- mysql 开发工具
- unity3D android游戏屏幕分辨率问题【转http://blog.csdn.net/jeksonal/article/details/8501549】...
- my first d3d application 哈哈哈。