第二章(二):Django框架Model之ORM操作数据库:增、删、改、查

news2024/11/24 13:38:46

系列文章目录

备注:这里是Django系列文章的所有文章的目录

第一章(一) : Django框架之创建项目/应用/templates、连接MYSQL、配置日志LOGGING、启动django项目
第一章(二):Django框架的模式、路由、视图;
第一章(三):Django框架的视图函数、视图类的认识及常规使用;
第一章(四):Django框架的模板(DTL):变量、标签、模板过滤器、模板继承、配置模板文件(staticfiles)
第二章(一):Django框架的模型(Model)、ORM操作数据库


备注:欢迎查阅python之Django框架,如有疑问,欢迎评论,一定回复!!!

文章目录

  • 系列文章目录
  • 前言
  • 一、Django模型:查询数据
  • 二、新增数据
    • 2.1 在`一对一`或者`一对多`的关系表场景下,新增数据
      • 2.1.1 使用save()方法-新增数据
      • 2.1.1 使用create()方法-新增数据
        • 2.1.1.1 使用create()方法-新增数据:外键字段=Model类字段=关联表的一条数据对象
        • 2.1.1.2 使用create()方法-新增数据:外键_id= '关联表的id值'
      • 2.1.2 使用2.2.1与2.2.2 的区别在于:新增数据时,外键是赋值给Model类的`外键字段?`or `外键_id?`
    • 2.2 在``多对多`的关系表场景下,新增数据
      • 2.2.1 场景1:使用models.ManyToManyField()
  • 总结


前言

提示:这里是本文要记录的大概内容:

Django查询数据、新增数据、修改数据、删除数据;其中,查询数据、删除数据场景不同方式不同。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Django模型:查询数据

数据查询主要使用all()、filter()、get()、values()、exclude()等方法,结合操作符,很是快捷。
参考:第二章(一):Django框架的模型(Model)、ORM操作数据库

二、新增数据

2.1 在一对一或者一对多的关系表场景下,新增数据

2.1.1 使用save()方法-新增数据

from app4.models import *
import django.utils.timezone as timezone
depart = DepartInfo()
depart.departname='技术部'
depart.createdate=timezone.now()
depart.save()

或者使用以下语句:

from app4.models import *
import django.utils.timezone as timezone
depart=DepartInfo(departname="技术部",createdate=timezone.now())
depart.save ()

2.1.1 使用create()方法-新增数据

参考:Django框架(十二):Models之ORM对多表【一对多】的操作(增、删、改、查)

2.1.1.1 使用create()方法-新增数据:外键字段=Model类字段=关联表的一条数据对象

u=dict(username='刘老四',password='qwe4321',status='1',createdate=timezone.now(),depart= DepartInfo.objects.get(id='2'))
user=UserBaseInfo.objects.create(**u)

在这里插入图片描述
或者使用以下语句:

user=UserBaseInfo.objects.create(username='刘老四',password='qwe4321',status='1',createdate=timezone.now(),depart= DepartInfo.objects.get(id='2'))

2.1.1.2 使用create()方法-新增数据:外键_id= ‘关联表的id值’

u=dict(username='刘老四',password='qwe4321',status='1',createdate=timezone.now(),depart_id='2')
user=UserBaseInfo.objects.create(**u)

或者使用以下语句:

user=UserBaseInfo.objects.create(username='王老六',password='asd4321',status='1',createdate=timezone.now(),depart_id='2')

在这里插入图片描述

2.1.2 使用2.2.1与2.2.2 的区别在于:新增数据时,外键是赋值给Model类的外键字段?or 外键_id?

2.2 在``多对多`的关系表场景下,新增数据

2.2.1 场景1:使用models.ManyToManyField()


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/745641.html

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

相关文章

Linux14.文件(下)

文件描述符fd,分配到的是从0开始最小的没有被占用的。 2.输出重定向(重定向的本质,就是在操作系统内部更改fd对应的内容的指向),同时理解输入重定向和追加重定向。 3.重定向函数dup2(oldfd, newfd),oldfd -> newfd (小技巧:一…

jennkins配置k8s动态slave

一、 首先完成jenkins的部署可参考jenkins部署 二、 如果是在同一个k8s集群下部署的则直接这样配置 在security中agent的端口也配置成50000 如果是虚拟机中部署的jenkins添加k8s需要做如下操作 echo ‘certificate-authority-data-value’ | base64 -d > ./ca.crt &#…

数字化转型中,企业如何做系统设计

随着人工智能、大数据、云计算、区块链等新一代信息化、数字化技术的高速发展,现阶段社会的方方面面都已经有了巨大的改变,各行各业的企业也都开始了新一轮的科技革命和产业革命,可以说是互联网时代之后,又一个能够从各方面影响世…

MySQL物理文件----日志文件(错误日志、通用查询日志、二进制日志、慢查询日志)

文章目录 MYSQL5.7/8.0支持的几种日志文件1、错误日志(Error log)2、一般或通用查询日志(General query log)3、二进制日志(Binary log)3、1 查看是否开启二进制日志3、2二进制日志开启3、3查看二进制文件位…

数据结构05:树与二叉树[C++][并查集]

图源:文心一言 Chat GPT生成,代码的核心思想与王道咸鱼老师的视频虽然类似,但是在具体实现上毕竟还是略有差别~~因此,如果对考研方向的并查集代码感兴趣,可以查看—— 王道咸鱼老师的视频:{5.5_2_并查集_…

会议邀请|思腾合力邀您共赴MICS 2023第十届医学图像计算青年研讨会

医学图像计算青年研讨会 (Medical Imaging Computing Seminar, MICS) 于2014年成立,宗旨是为医学影像分析领域的全球华人学者提供学术交流平台,增进本领域科研人员和医学专家的交流和合作。 第十届医学图像计算青年研讨会 (MICS 2023) 将于2023年7月14-1…

form表单禁止浏览器自动填充密码

因为用户修改密码的时候,谷歌浏览器、edge等浏览器,总是自动将保存的密码填充到重置密码输入框中,给用户使用带来困扰。原因是因为你在登录的时候选择记住了账号和密码了,所以就会把信息存在浏览器里面,当你在修改密码的时候,由于form表单的 type="password" 所…

【Arduino小车实践】PID算法简介

一、介绍 1. 特点 流量稳定、改变流量(水阀):测量当前流量,与预期流量进行比对,不相等则进行相应的调整。 2. 适用系统 适用线性系统(二阶以内的线性系统):齐次性、叠加性 3. 宏…

ASEMI-A7二极管可用什么代替,M7二极管正负极判断

编辑-Z 在电子设备的世界中,二极管是最常见的组件之一。它们在各种设备中发挥着重要的作用,包括电源适配器、电源供应器、电池充电器等。在这篇文章中,我们将探讨A7二极管可用什么代替,以及M7二极管正负极判断。 首先&#xff0c…

解决Vue 报错error:0308010C:digital envelope routines::unsupported问题

解决Vue 报错error:0308010C:digital envelope routines::unsupported问题 问题原因方法一:修改配置方法二:尝试卸载Node.js 17版本并重新安装Node.js 16版本,然后再重新启动方法三:package.json增加配置(大多数解决问…

【自动驾驶汽车量子群粒子过滤器】用于无人驾驶汽车列车定位的量子粒子滤波研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Doris单机安装部署

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、前期准备1.下载安装包2.修改limits文件 二、安装1.配置启动FE2.配置启动BE3.web测试4.连接测试、添加BE 结尾 前言 Apache Doris 是一个基于 MPP 架构的高…

Linux搭建PXE服务器

安装PXE启动服务器所需的软件包 Tftp,dhcp和vsftpd(httpd也可以作为安装源) 编辑TFTP配置文件 重启tftp服务 编辑/etc/dhcp/dhcpd.conf,新建作用域,主要设置下一跳服务器地址和引导文件名称。 重启dhcp服务 把centos光盘内容拷贝…

营销本地化,跨境电商都要懂的行业知识

营销本地化是调整营销内容以满足目标市场的文化、语言和其他相关差异的过程,这对于那些希望在全球市场取得成功的企业至关重要。它可以帮助公司与客户建立有意义的联系,并提供优质的客户体验。随着技术和互联网的进步,企业可以获得大量资源、…

基于单片机的厨房安全监测系统的设计与实现

功能介绍 以STM32/51单片机作为主控系统; OLED液晶显示当前检测的气体浓度,温度,是否有火等信息; 按键可以设置温度上限、可燃气体浓度上限; 当温度超过我们设置自动开启风扇进行降温; 当检测到天然气泄露后…

【误差自适应跟踪方法AUV】自适应跟踪(EAT)方法研究(Matlab代码Simulin实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

使用wireshark抓包,验证feign http请求的数据透传结果

一、背景 在灰度部署、A/B测试、单元化部署等场景下,微服务服务之间的调用,要求我们对上游服务给过来的数据进行透传至下游服务。 如果是灰度部署,需要对http请求进行染色,http header头部增加灰度标识,然后传递给下…

掌握std::move和std::forward

在讲解std::move和std::forward之前,我们必须先了解C中左值、右值的相关概念。 1、左值、右值 (1)左值:一般指的是在内存中有对应的存储单元的值,最常见的就是程序中创建的变量。 (2)右值&…

热泵空调渗透率超10%,哪三家本土供应商领跑市场

作为新能源汽车产业链的潜在高增长赛道,以及整车热管理系统的关键组成部分,车用热泵空调市场近年来呈现快速发展的态势。 而从新能源整车热管理角度来看,通过制冷及热泵技术的完善,发展低碳的热管理技术,从而提升热管…

基于Hadoop生态实现离线与实时的消费者商品交易行为分析(消费行为分析、购买偏好分析)

项目背景 大数据专业综合项目实践,数据集采用阿里天池的公开数据集,下载链接: 消费者商品交易调研清单 这个数据集是一个样本集,共有5000多条记录,每条记录代表一个消费者的商品交易调研信息。以下是对每个字段的描述&#xff1a…