Django项目中表的查询的操作
作者:努力是一种常态 发布时间:2023-04-23 10:22:23
2022-09-29
shell操作:
我在使用中是pycharm与数据库建立连接的一个工具。
使用的环境:
在此处是用在了虚拟环境中。
使用场景:
一般是在创建的表中插入数据后,进行查看,可以代替在“视图”中——“创建一个函数用于请求指定表中的内容,在浏览器中返回”。
在插入表的过程中,有两个新得知的内容:
第一个是,插入语句中,“insert into book_bookinfo1 values()”,括号里面添加要插入的数据,在插入数据时,如果需要查看表的结构,可以使用语句“desc book_bookinfo1”查看各个字段的顺序以及之前设置的类型要求。注意在“insert into”与“book_bookinfo1”中是不需要添加关键字“table”的。向数据库中插入表的内容时,要选中“插入的表”,使用的语句时“use book_bookinfo1”(use 表名),在它们两者之间也是不需要加“table”的。
第二个是,在此表中,设置了一个“Datetime”类型的字段,它插入数据的格式为“年-月-日 时:分:秒”。
使用shell,进入shell中的命令(在pycharm页面下面的“终端”中):
python manage.py shell
进入shell 后 ,查询的实例:
首先,需要导入要查询的表(例:)
from book.models import BookInfo
注意:在导入模块中,此处要导入“BookInfo”函数,从"book"中的“models”中导入,要具体到函数所在的".py"文件中。如果没有详细到具体文件中,只写了一个“book”的话,是会报错的,一个导入错误(“ImportError”)。
查看表内所有存储的内容:
BookInfo.objects.all()
注意:查询“BookInfo1”表中的所有内容,“object”要加上“s”,之前没有加上“s”的时候,会出现一个“属性错误(AttributeError)”,后来加上了。
Django项目 ORM常用的十三种查询方法
all():查询所有的结果
示例:
publisher = models.Publisher.objects.all() #查询所有的出版社信息
get():
publisher = models.Publisher.objects.get(id = 1) # get查询数据不存在时会保错
filter():
publisher = models.Publisher.objects.filter(id = 1) #不存在的时候返回一个空的Queryset 不会报错
publisher = models.Publisher.objects.filter(id = 1)[0] #就算查询的结果只有一个 返回的也是一个Queryset 列表 要用索引的方式取出第一个元素
exclude():
publisher = models.Publisher.objects.exclude(id = 1) #排除掉id等于1的数据
values():
publisher = models.Publisher.objects.values("name","type") #返回一个Queryset对象 里面全是字典 为空的话 默认查出所有数据
values_list():
publisher = models.Publisher.objects.values_list("name") # 返回一个Queryset对象 里面全是列表为空的话 默认查出所有数据
order_by():
publisher = models.Publisher.objects.all().order_by("time") #根据xxx排序
reverse(): #反转
publisher = models.Publisher.objects.all().order_by("time") .reverse() #只能对有序的Queryset 进行反转
count(): 返回Queryset中对象的数量
publisher = models.Publisher.objects.all().count()
frist(): 返回Queryset中第一个对象
publisher = models.Publisher.objects.all().frist()
last():返回Queryset中最后一个对象
publisher = models.Publisher.objects.all().last()
exists(): 查询表中是否有数据 有就返回True 没有就是False
publisher = models.Publisher.objects.exists()
来源:https://www.cnblogs.com/isDaHua/archive/2022/09/29/16742324.html


猜你喜欢
- 本文实例讲述了python元祖和字典的内建函数。分享给大家供大家参考,具体如下:元组Tuple元组是序列类型一种,也是不可变类型数据结构,对
- 本文实例讲述了php购物车实现方法。分享给大家供大家参考。具体分析如下:这里我们为你提供个简单的php购物车代码,从增加购物产品与发生购买了
- Python 登录网站详解及实例对于大部分论坛,我们想要抓取其中的帖子分析,首先需要登录,否则无法查看。这是因为 HTTP 协议是一个无状态
- 1. 手动操作1.1. 显示模块pip list1.2. 显示过期模块pip list --outdated1.3. 安装模块pip ins
- 1.安装1.1 创建虚拟环境mkdir myprojectcd myprojectpython3 -m venv venv1.2 进入虚拟环
- 一键执行虚拟机一键安装python3.8环境,只需将网络适配器改为nat模式即可(确保主机能够上网),随后将tar包放入/root目录下,执
- 我是以Python开门的,我还是觉得Python也可以进行地形三维可视化,当然这里需要借助第三方库,so,我就来介绍:Python一个很重要
- 最近肺炎的发展速度属实有点恐怖。刚知道python的pyecharts这个库,想到pyecharts可视化的特点,正好可以扒一下肺炎实时播报
- 目录1 摘要2 概述2.1 什么是并行计算?2.2 为什么要并行计算?2.3 谁都在使用并行计算?科学界和工程界:工业界和商业界:全球应用:
- 查询语句的优化是SQL效率优化的一个方式,可以通过优化sql语句来尽量使用已有的索引,避免全表扫描,从而提高查询效率。最近在对项目中的一些s
- matplotlib及相关cmap参数的取值在matplotlib中对于图片的显示有如下方法(这不是重点), 其中有cmap=&ls
- <script language="javascript" src="js/sett
- django restframework 导入excel内容,可以查看另外一篇文章一、基础环境web架构:前后端分离,前端使用vue,后端使
- MySQL有多种方法导入多个.sql文件(里面是sql语句),常用的有两个命令:mysql和source。但是这两个命令的导入效率差别很大,
- GoLang之使goroutine停止的5种方法1.goroutine停止介绍goroutine是Go语言实现并发编程的利器,简单的一个指令
- 前言RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。MQ全称
- 1. 事务介绍MVCC之前,先介绍下事务:事务是为了保证数据库中数据的完整性和一致性。事务的4个基本要素:原子性(Atomicity):要么
- 前言:创建进程池可以形象地理解为创建一个并行的流水线,只需创建一次流水线的消耗,处理接收到的任务的,不使用进程池。 ,浪费时间。中方本来没有
- 我就废话不多说了,直接上代码吧!import torchimport timex = torch.Tensor([[1, 2, 3], [5
- 一. 创建列表列表(list)作为Python中基本的数据结构,是存储数据的容器,相当于其它语言中所说的数组。模拟出的结构如下:创建列表有两