Django查询、删除、更新数据

2023-05-16

查询数据

查询无疑是数据库表中使用频率最高的操作。

table.object.get()方法用于从数据库表中取得一条匹配的结果,返回一个对象,如果记录不存在的话,那么它会报DoesNotExist类型错误。

通过name='红米MAX发布会'作为查询条件。

.....
>>> el = Event.object.get(name='红米MAX发布会')
>>> el
<Event: 红米MAX发布会>
>>> el.address
'北京会展中心'
>>> el.start_time
datetime.datetime(2016,9,22,14,0)
>>>
>>> Event.objects.get(name='红米MAX发布会').limit
2000
>>> Event.objects.get(name='发布会').address
Traceback (most recent call last):
   File "<console>",line 1,in <module>
   File "C:\Python35\lib\site-package\django\db\models\manager.py",line 85,
in manager_method
   return getatter(self.get_queryset(),name)(*args,**kwargs)
  File "C:\python35\lib\site-spackages\django\db\models\query.py",line 385,in get
   self.model._meta.object_mame
sign.models.DoesNotExist:Event matching query does not exit.

因为name='发布会'并没有完全匹配到发布会名称,所以会抛出DoesNotExist异常。但更多的时候我们会使用模糊查询。

table.objects.filter()方法是从数据库取得匹配的结果,返回一个对象列表,如果记录不存在的话,它会返回空列表[]。

.....
>>> e2 = Event.object.filter(name_contains='发布会')
>>> e2
<QuerySet [<Event:小米5发布会>,<Event:红米Pro发布会>,<Event: 红米MAX发布会>]>

name为发布会的字段名,在name和contains之间用双下画线连接。这里contains部分会被Django翻译成SQL语句中的LIKE语句。

接下来通过嘉宾查询其他关联的发布会信息。

.....
>>> g2 = Guent.objects.get(phone='13611001101')
>>> g2.delete()
(1,{'sign.Guest':1})

>>> Guest.objects.get(phone='13611001101').delete()
(1,{'sigin.Guest':1})

更新数据

查询phone=‘13611001101’的嘉宾,更新realname=‘andy2’,或者直接通过update()方法更新查询结果。

.....
>>> g3=Guest.objects.get(phone='13611001101')
>>> g3.realname='andy2'
>>> g3.save()

>>> Guest.object.select_for_update().filter(phone='1361101101').update(
realname='andy')
1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django查询、删除、更新数据 的相关文章

随机推荐

  • k8s(三)—控制器(replicaset、deployment、daemonset、job、cronjob)

    1 控制器简介 2 Replicaset控制器 root 64 server2 vim rs yaml apiVersion apps v1 kind ReplicaSet metadata name replicaset example
  • k8s(四)—service服务(暴露方式:ClusterIP、NodePort、LoadBalancer、ExternalName、ingress)

    1 service简介 2 开启kube proxy的ipvs root 64 server2 kubectl n kube system get pod grep proxy 每个节点都有haproxy kube proxy d6cp2
  • k8s(五)—容器间的网络通信

    1 同一节点不同pod之间的通信原理 root 64 server2 kubectl get pod o wide 查看pod 的ip NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NOD
  • k8s(七)—statefullset部署mysql主从集群

    1 使用statefullset部署mysql主从集群 mysql 0是master mysql 1和mysql 2是两个备份 当mysql写的时候 xff0c 找headless service中的mysql 0 mysql xff1b
  • k8s(十)— 资源限制(cpu、memory)

    1 k8s容器资源限制简介 2 k8s容器资源限制实施 2 1 内存限制示例 root 64 server1 docker search stress 搜索测试镜像stress NAME DESCRIPTION STARS OFFICIAL
  • k8s(十二)— HPA

    HPA官网 从最基本的角度来看 xff0c Pod 水平自动扩缩控制器根据当前指标和期望指标来计算扩缩比例 期望副本数 61 ceil 当前副本数 当前指标 期望指标 例如 xff0c 如果当前指标值为 200m xff0c 而期望值为 1
  • k8s(十四)—高可用集群部署

    1 部署k8s高可用原理图 2 清理环境 root 64 server2 helm kubectl drain server4 下线server4 root 64 server2 helm kubectl delete nodes serv
  • oracle数据库控制语言—DCL

    文章目录 1 授予系统权限1 1 授予创建其他对象权限 2 撤销系统权限2 1 示例 3 oracle 中的角色3 1 什么时角色3 2 创建角色并且授予权限给角色3 2 1 创建角色3 2 1 1 示例 3 2 2 授予权限给一个角色3
  • 软件测试 | Django插入数据

    gt gt gt from datetime import datetime gt gt gt el 61 Event id 61 2 name 61 39 红米 Pro 发布会 39 xff0c limit 61 2000 status
  • oracle数据库的导入与导出

    文章目录 1 oracle数据库导入与导出需要注意2 导出数据格式介绍3 传统方式exp 导出 xff09 和 xff08 imp xff09 导入3 1 命令执行方式3 2 命令格式3 3 导出数据3 3 1示例 3 4 导入数据3 4
  • oarcle — ANY和ALL、行列转换、递归查询

    文章目录 1 在多行子查询中用ANY运算符1 1 示例 2 在多行子查询中用ALL运算符2 1 示例 3 行列转换3 1 建表3 2 插数3 3 列传行3 3 1 union all 实现列传行3 3 2 oracle 自带函数 3 4 行
  • 嵌入式学习规划

    一 STM32的单片机 1 学习stm32开发板 1 1 流水灯 学习内容 xff1a xff1a 工程建立 xff0c 库的使用 1 2 AD采集 学习内容 xff1a xff1a 学习AD 1 3 串口 学习内容 xff1a xff1a
  • UAV Ubuntu18.04 PX4环境搭建

    Ubuntu18 04 PX4环境搭建 设备 VMware WorkStation16 0pro Ubuntu18 04 虚拟机 参考链接 XTDrone团队的 xff1a 仿真平台基础配置 xff08 PX4 1 11版 xff09 ht
  • 无人机遥控器使用说明

    遥控器使用说明 21 06 09 激光雷达避障使用时候设置的通道 开机前检查 所有拨码开关拨到最上方 SWA SWB两个开关 暂时没用 主要使用SWC和SWD 开机 同时按下两个开机键开机 模式说明 现在使用的模式主要设置了四个 红框 SW
  • Jetson Tx2配置PX4飞控实机开发环境

    Jetson Tx2使用 设备 Jetson Tx2板卡 xff08 原装或者底板加核心板 xff09 带Ubuntu系统电脑或者虚拟机Tx2原装数据线HDMI显示器鼠标键盘 刷机 参考链接 1 使用NVIDIA SDK Manager刷机
  • Jetson Nano刷系统教程

    Jetson Nano使用 设备 Jetson Nano板卡64G SD卡 xff08 最小16G xff09 读卡器HDMI显示器鼠标键盘 刷机 格式化SD卡 使用SD卡格式化工具进行格式化 下载镜像 进入英伟达下载中心 xff1a ht
  • 【Windows下搭建深度学习环境之TensorFlow篇】一气呵成,五步搞定TensorFlow的安装!TensorFlow的安装之路

    TensorFlow的安装之路 0 安装前须知1 安装Anaconda1 1 什么是虚拟环境 xff1f 1 2 安装Anaconda具体步骤1 3 添加环境变量 xff08 系统变量 xff09 1 4 修改Conda库和pip库的安装源
  • 关于putty出现access denied的问题解决方案

    关于putty出现access denied的问题解决方案 1 网上也说了很多 比较多一点的就是修改PermitRootLogin 在linux终端terminal执行下面命令 sudo gedit etc ssh sshd config
  • [四旋翼无人机PID仿真(一)

    64 四旋翼无人机串级PID仿真 四旋翼无人机的数学模型的建立 xff1a 在建立模型的过程中 xff0c 采用了欧拉角来进行数学模型的建立 首先进行无人机结构以及飞行原理的分析 xff0c 然后进行系统建模 xff0c 在建模的过程中 x
  • Django查询、删除、更新数据

    查询数据 查询无疑是数据库表中使用频率最高的操作 table object get 方法用于从数据库表中取得一条匹配的结果 xff0c 返回一个对象 xff0c 如果记录不存在的话 xff0c 那么它会报DoesNotExist类型错误 通