【Django 2021年最新版教程10】数据库修改更新update操作

2024-09-03 08:38

本文主要是介绍【Django 2021年最新版教程10】数据库修改更新update操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、新增多条测试数据

在“【Django 2021年最新版教程8】操作Mysql数据库 mysqlclient安装和使用”介绍了新增数据插入数据库的方法

二、修改操作

1. 修改views.py

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)

update返回值是受影响的行数,不是成功修改的行数。

2. 修改urls.py

3. 效果

 

三、还有一种更新方法

请参考https://www.runoob.com/django/django-orm-1.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这篇关于【Django 2021年最新版教程10】数据库修改更新update操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132535

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

电脑提示d3dx11_43.dll缺失怎么办? DLL文件丢失的多种修复教程

《电脑提示d3dx11_43.dll缺失怎么办?DLL文件丢失的多种修复教程》在使用电脑玩游戏或运行某些图形处理软件时,有时会遇到系统提示“d3dx11_43.dll缺失”的错误,下面我们就来分享超... 在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是缺失某个dll文件。其中,d3dx11_4

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window