Django 对数据库的增删改查

ops/2024/9/25 6:03:05/

新增

使用方法:类模型.objects.create

类模型

from django.db import models# Create your models here.
class Car(models.Model):user = models.CharField(max_length=200)plate_number = models.CharField(max_length=20)def __str__(self):return f'{self.user} --{self.plate_number}'

 请求方法

from django.http import JsonResponse
from django.views.decorators.http import require_http_methods
import json@require_http_methods(["POST"])
def my_first_request(request):try:# 读取并解析 JSON 请求体data = json.loads(request.body.decode('utf-8'))user = data.get('user')plate_number = data.get('plate_number')# 检查参数是否为空if not user or not plate_number:return JsonResponse({'error': 'params not null'}, status=400)# 创建并保存 Car 实例Car.objects.create(user=user, plate_number=plate_number)return JsonResponse({'success': 'Car created successfully'})except Exception as e:return JsonResponse({'error': str(e)}, status=500)

 修改

save()

同时具备新增和修改功能

保存

Car.save() 是 Django 中的模型实例方法,用于保存或更新数据库中的记录。

数据库没有这一条情况下或者就是想要新增一条

car = Car(user='张三', plate_number='123ABC')
car.save()  # 保存到数据库

更新已有记录

当你修改一个模型实例的属性时,调用 save() 来保存修改:

car = Car.objects.get(id=1)  # 获取某条记录
car.plate_number = '456DEF'  # 修改属性
car.save()  # 保存修改到数据库

查询

获取所有记录

cars = Car.objects.all()  # 返回所有Car对象

根据条件过滤

cars = Car.objects.filter(user='张三')  # 查询用户为张三的所有记录

获取单个记录

car = Car.objects.get(id=1)  # 根据主键 id 查询

获取最新的一条记录

latest_car = Car.objects.latest('id')  # 根据id排序,获取最新一条

删除

删除某条记录

car = Car.objects.get(id=1)  # 获取记录
car.delete()  # 删除该记录

批量删除

Car.objects.filter(user='张三').delete()  # 删除所有用户为张三的记录


http://www.ppmy.cn/ops/115646.html

相关文章

【HarmonyOS】深入理解@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化

【HarmonyOS】深入理解Observed装饰器和ObjectLink装饰器:嵌套类对象属性变化 前言 之前就Observed和ObjectLink写过一篇讲解博客【HarmonyOS】 多层嵌套对象通过ObjectLink和Observed实现渲染更新处理! 其中就Observe监听类的使用,Object…

PHP如何从字符串中删除转义字符

在PHP中,从字符串中删除转义字符并不是一个直接的过程,因为“转义字符”这个概念在PHP字符串中通常指的是那些用于表示特殊字符(如换行符\n、制表符\t、引号\或\"等)的反斜杠(\)。然而,如果…

练习题 - Django 4.x Models Meta 元数据选项

在 Django 中,Meta 类是模型定义的一部分,用于配置模型的各种行为特性。通过使用 Meta 元数据选项,开发者可以控制模型的排序、权限、数据库表名等属性,提供了灵活性和定制化。在实际的 web 应用开发中,合理配置 Meta …

Android线程使用总结

Android线程使用总结 1. Threading Performance 在程序开发的实践当中,为了让程序表现得更加流畅,我们肯定会需要使用到多线程来提升程序的并发执行性能。但是编写多线程并发的代码一直以来都是一个相对棘手的问题,所以想要获得更佳的程序性…

数据结构哈希(hash)

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 数据结构哈希(hash) 收录于专栏 [C进阶学习] 本专栏旨在分享学习C的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. 哈希的概念 2.…

js 将二进制文件流,下载为excel文件

吃西瓜 现成的粒子 二进制流,是一种计算机文件格式,它的数据以二进制形式存储,与文本文件不同, 二进制文件可以包含任意类型的数据,例如:图像、音频、视频、可执行文件、压缩文件等,而文本文…

18.1 k8s服务组件之4大黄金指标讲解

本节重点介绍 : 监控4大黄金指标 Latency:延时Utilization:使用率Saturation:饱和度Errors:错误数或错误率 apiserver指标 400、500错误qps访问延迟队列深度 etcd指标kube-scheduler和kube-controller-manager 监控4大黄金指标 …

【nvm管理多版本node】下载安装以及常见问题和解决方案

nvm管理多版本node nvm 下载安装下载安装 nvm 常用命令其他常用命令 常见问题 nvm 下载安装 下载 nvm下载地址 每个版本下都有Assets,根据需要下载一个。 node下载地址 根据自己需要,可以下载可执行文件或者压缩包 安装 按提示安装即可。 安装过程中&#xff…