Django 对数据库的增删改查

news2024/11/17 11:30:44

新增

使用方法:类模型.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.coloradmin.cn/o/2162708.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux之我不会

一、常用命令 1.系统管理 1.1 systemctl start | stop | restart | status 服务名 案例实操 1 查看防火墙状态 systemctl status firewalld2 停止防火墙服务 systemctl stop firewalld3 启动防火墙服务 systemctl start firewalld4 重启防火墙服务 systemctl restart f…

构建高可用和高防御力的云服务架构第一部分:深入解析DDoS高防(1/5)

引言 在数字化时代,网络安全已成为全球关注的焦点。随着互联网技术的快速发展和应用的广泛深入,网络安全形势日益严峻。特别是分布式拒绝服务(DDoS)攻击,以其破坏性强、难以防范的特点,对个人、企业乃至国…

Django操作ES实现搜索功能

Django操作ES实现题目的高亮搜索功能 一、基础配置二、使用ES完成题目的高亮搜索1. ES的初始化接口2. 使用ES实现题目的增删改查1. 题目的高亮搜索2. 题目的高亮搜索优化3. 将数据存储到MYSQL中持久化存储并同步到ES中一、基础配置 下载依赖,与之前配置的ES版本一致。 ES的配置…

Mac安装manim

文章目录 0.关于Manim1.官方安装方法2.使用conda2.1 下载Anaconda2.2 创建环境2.3 Required Dependencies 3.实验 今天发现Mac电脑以前安装的manim不能用了,索性重新装一次,顺便把过程记录下来。 0.关于Manim Manim 主要分为两个主要版本: …

使用VSCode远程调试AutoDL上的程序

在租用的AutoDL服务器上基于终端不便进行代码调试,而使用远程桌面控制部署也相对麻烦。pycharm 则需要专业版才能进行远程开发,如果使用Shell启动的程序也没有办法调试,最终选择利用 VScode 来进行远程代码调试。 一、远程租用并启动服务器 …

一步到位:如何在卡内基梅隆大学计算机科学学院官网下载并安装ACME软件

想要在卡内基梅隆大学计算机科学学院官网下载ACME软件?下面是详细的操作步骤! 1. 访问官网 首先,打开卡内基梅隆大学计算机科学学院的官方网站。 2. 搜索ACME软件 在官网首页的搜索框中输入“acme”,然后按下回车键。 3. 找到下载…

大数据Flink(一百二十四):案例实践——淘宝母婴数据加速查询

文章目录 案例实践——淘宝母婴数据加速查询 一、​​​​​​​创建数据库表并导入数据 二、​​​​​​​​​​​​​​创建session集群 三、​​​​​​​​​​​​​​源表查询 四、​​​​​​​​​​​​​​指标计算 案例实践——淘宝母婴数据加速查询 随着…

【全新课程】正点原子《ESP32基础及项目实战入门》培训课程上线!

正点原子《ESP32基础及项目实战入门》全新培训课程上线啦!正点原子工程师手把手教你学!熟练掌握ESP-IDF开发,突破ESP32入门难题! 一、课程介绍 本课程针对ESP32的入门和基础外设进行系统教学,内容包括环境搭建、编程…

C#和数据库高级:密封类和方法覆盖

文章目录 一、密封类关键字:sealed方法覆盖 面向对象三大特性总结 一、密封类 关键字:sealed 方法覆盖 面向对象三大特性总结

类与对象【中】

1.类的六个默认构造函数 如果一个类中什么成员都没有简称空类 但空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。 默认成员函数:用户没有显示实现,编译器会生成的成员函数…

公安局软件管理平台建设方案和必要性,论文-3-———未来之窗行业应用跨平台架构

三、平台功能设计 四、技术架构 1. 前端界面 - 采用简洁、易用的设计风格,适应不同终端设备的访问。 - 基于 HTML5、CSS3 和 JavaScript 构建。 2. 后端服务 - 选择主流的 Web 开发框架,如 未来之窗跨平台架构,VUE。 - 数据库…

IIS HTTPS 网页可能暂时无法连接,或者它已永久性地移动到了新网址 ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY

问题描述:站点突然无法访问,经排查发现,HTTP协议的网址可以继续访问,HTTPS的网址不可以访问。 问题分析:在Windows更新和滚动之后,由于 HTTP/2,当站点启动了 HTTP/2 连接,会出现一个…

【春秋云境】CVE-2024-23897-Jenkins 2.441之前版本存在任意文件读取漏洞

一、靶场介绍 Jenkins 2.441及更早版本,以及LTS 2.426.2及更早版本没有禁用其CLI命令解析器的一个功能,该功能会将参数中’字符后跟的文件路径替换为该文件的内容,允许未经身份验证的攻击者读取Jenkins控制器文件系统上的任意文件。 二、P…

Linux——HTTPS协议

HTTPS也是一个应用层协议:只是是在 HTTP 协议的基础上引入了一个加密层而已~ 目录 概念准备 1什么是加密 2为什么要加密 3常见的加密方式 对称加密 非对称加密 数据摘要(数据指纹) 一HTTPS加密方式 方案1只使用对称加密 方案2只使用非对称加密 方案3双…

C#|.net core 基础 - 深拷贝的五大类N种实现方式

在实际应用中经常会有这样的需求:获取一个与原对象数据相同但是独立于原对象的精准副本,简单来说就是克隆一份,拷贝一份,复制一份和原对象一样的对象,但是两者各种修改不能互相影响。这一行为也叫深克隆,深…

第6章 常用UI组件库

一.Element Plus组件库 1. 安装Element Plus 什么是Element Plus? Element Plus是基于Vue 3开发的优秀的PC端开源UI组件库,它是Element的升级版,对于习惯使用Element的人员来说,在学习Element Plus时,不用花费太多的…

CC面试准备

半导体基础 半导体是介于导体和绝缘体之间的一种介质,在不同条件下表现出不同的导电性或者不导电特性, 电子半导体器件材料大部分为硅,锗等元素 本征半导体:完全不含杂质的纯净半导体,因为不含杂质,其中…

[笔记]一组电缆、定位相关产品的技术参数

csdn不允许做广告,这里的那家定位供应商的技术看起来是可以的。很有希望。它的原理并不复杂,这家企业在处理业务领域以外的新型产品时,是查过资料的,这就超过了60%的同行。 1.电缆 仅给出现在市面供应的铠装电缆结构&#xff0c…

七层负载均衡和四层负载均衡的区别

文章目录 什么是七层负载均衡?一、定义与工作原理二、优点与缺点三、应用场景四、常见七层负载均衡器五、负载均衡算法 什么是四层负载均衡?一、定义与原理定义:原理: 二、特点与应用场景特点:应用场景: 三…

STM32基础学习笔记-ADC面试基础题6

第六章、ADC 常见问题 1、基本概念:什么是ADC ?作用 ?逐次逼近型 2、传感器本质 ?传感器、电压、ADC数值转化 ? 3、ADC的特征 ? 转化时间、分辨率、精度、量化误差 ? 4、ADC框图组成部分 &…