wordpress还原站点英德市网站建设

diannao/2026/1/24 23:05:05/文章来源:
wordpress还原站点,英德市网站建设,回收手表网站,wordpress 手机号注册django表查询测试环境搭建 首先#xff0c;在此之前我们先来回顾一下之前学习的orm内容 1. django自带一个小型的sqlite3的小型数据库 但是这个数据库的功能非常有限#xff0c;并且针对日期类型的数据兼容性很差 2. 切换数据库数据(MySQL) 2.1 在django1.x版本中你需要在_…django表查询测试环境搭建 首先在此之前我们先来回顾一下之前学习的orm内容 1. django自带一个小型的sqlite3的小型数据库 但是这个数据库的功能非常有限并且针对日期类型的数据兼容性很差 2. 切换数据库数据(MySQL) 2.1 在django1.x版本中你需要在__init__.py文件中写入这样的配置 import pymysql pymysql.install_as_MySQLdb() 2.2 在django2.x,3.x,4.x版本中只需要下载插件即可 pip install mysqlclient 3. 定义模型类(在pycharm中创建表) class 表名(models.Model): 字段名 models.字段类型 总结一下一些orm中的字段类型 ORM含义  MySQL AutoField int自增列里面的参数要加上primary_KeyTrue字键 如果没有就会自动创建一个名为id的主键 auto_increment primary key IntegerField整数类型int()CharField 字符串类型 需要提供maxlength长度参数 char()  varchar()DateField 日期类型 YYY-MM-DD datetime.date()DateTimeField 日期类型 YYY-MM-DD hh:mm:ss datetime.datetime() 日期字段很重要(牢记) auto_now: 每次操作数据并保存都会自动更新当前时间 auto_now_add只在创建数据的那一刻自动获取当前时间之后如果不人为更改就不变 4. 执行数据库迁移命令(模型类表) 就是将我们创建的类表变成mysql表的形式 python38 manage.py makemigrations python38 manage.py migrate 执行Tools中的Run manage.py Taks后还可以简写为 makemigrations migrite 5. 模型层测试环境准备 方式1 import osdef main():os.environ.setdefault(DJANGO_SETTINGS_MODULE, day59.settings)import django # 这个导入模块不能写到外面去django.setup()from app01 import modelsprint(models.User.objects.filter())if __name__ __main__:main() 方式2 pycharm提供测试环境  python console命令行测试环境 ORM常见查询关键字 前题 1. 当需要查询数据主键字段值的时候 可以使用pk忽略掉数据字段真正的名字 2. 在模型类中可以定义一个__str__方法 便于后续数据对象被打印展示的是查看方便 3. Queryset中如果是列表套对象那么直接for循环和索引取值但是索引不支持负数 4. 虽然queryset支持索引但是当queryset没有数据的时候索引会报错 推荐使用first() 十三种必会ORM查询关键字 models.类名.objects.方法() 1. filter() 筛选数据 返回值是一个QuerySet(可以看成是列表套数据对象) 1.括号内不写查询条件 默认就是查询所有 2.括号内可以填写条件 并且支持多个 逗号隔开 默认是and关系 2. all() 查询所有数据 返回值是一个QuerySet(可以看成是列表套数据对象) 3. first() 获取Queryset中第一个数据对象 如果为空则返回None 4. last() 获取Queryset中最后一个数据对象 如果为空则返回None 5. get() 直接根据条件查询具体的数据对象 但是条件不存在直接报错 不推荐使用 6. values() 指定查询字段 结果是Queryset(可以看成是列表套字典数据) 7. values_list() 指定查询字段 结果是Queryset(可以看成是列表套元组数据) 8. order_by() 指定字段排序 默认是升序 在字段前加负号则为降序 并且支持多个字段排序 9. count() 统计orm查询之后结果集中的数据格式 10. distinct() 针对重复的数据集进行去重 一定要注意数据对象中的主键 11. exclude() 针对括号内的条件取反进行数据查询 QuerySet(可以看成是列表套数据对象) 12. reverse() 针对已经排了序的结果集做颠倒 13. exists() 判断查询结果集是否有数据 返回布尔值 但是几乎不用因为所有数据自带布尔值 额外补充 raw() 用pycharm在raw()中写sql语句 还可以借助模块写sql语句 from django.db import connection cursor connection.cursor() cursor.execute(insert into hello_author(name) VALUES (郭敬明)) cursor.execute(update hello_author set name韩寒 WHERE name郭敬明) cursor.execute(delete from hello_author where name韩寒) cursor.execute(select * from hello_author) cursor.fetchone() cursor.fetchall() 回顾双下str(__str__)方法 1. 双下str方法是类中的魔法方法之一   __str__ return 对象:%s%self.name 1. 对象被执行打印操作的时候会自动触发(print和页面展示都是打印) 2. 该方法必须返回一个字符串 3. 返回什么字符串打印对象之后就展示什么字符串 2. 其他类中的魔法方法还有  __init__实例化对象的时候自动触发__str__对象被执行打印操作的时候会自动触发__getattr__当对象获取一个不存在的属性名 自动触发__setattr__对象操作属性值的时候自动触发__del__对象在被删除(主动 被动)的时候自动触发__getattribute__对象获取属性的时候自动触发 无论这个属性存不存在当类中既有__getattr__又有__getattribute__的时候 只会走后者__enter__对象被with语法执行的时候自动触发 该方法返回什么 as关键字后面的变量名就能得到什么__exit__对象被with语法执行并运行完with子代码之后 自动触发 补充 1. 创建表 create() 创建数据 返回值就是当前创建的数据对象 save()        user_obj models.User(nameoscar, age24)    user_obj.save() 2. 更新数据 .update() 3. 删除数据 .delete() 神奇的双下划线的查询 1. 比较运算符 字段__gt大于字段__lt小于字段__gte大于等于字段__lte小于等于 2. 成员运算符 字段__in 3. 范围查询(数字) 字段__range 4. 模糊查询 字段__contains   不忽略大小写 字段__icontains     忽略大小写 5. 日期处理 字段__year 字段__month 字段__day 查看ORM底层的SQL语句 1. 方式1 如果是Queryset对象 那么可以直接用Queryset对象.query然后右键运行程序查看SQL语句 但是有些语句没有Queryset对象那么就要用到下面的方法 2. 方式2 配置文件配置 打印所有的ORM操作对应的SQL语句 直接拷贝使用即可 之后直接运行程序就能看到SQL语句了 LOGGING {version: 1,disable_existing_loggers: False,handlers: {console:{level:DEBUG,class:logging.StreamHandler,},},loggers: {django.db.backends: {handlers: [console],propagate: True,level:DEBUG,},}} ORM外键字段创建 一对多 ORM中外键字段建在多的一方 models.ForeignKey() 会自动添加_id后缀 多对多 ORM中有三种创建多对多字段的方式     models.ManyToManyField() 方式1:直接在查询频率较高的表中填写字段即可 自动创建第三张关系表 方式2:自己创建第三张关系表 方式3:自己创建第三张关系表 但是还是要orm多对多字段做关联 一对一 ORM中外键字段建在查询频率较高的表中    models.OneToOneField() 会自动添加_id后缀 ps: django1.X 针对 models.ForeignKey() models.OneToOneField()不需要on_delete   django2.X 3.X 则需要添加on_delete参数 外键字段数据操作 一对多 models.ForeignKey(toPublish, on_deletemodels.CASCADE) 方式1       直接给实际字段添加关联数据值     publish_id 1 方式2  间接使用外键虚拟字段添加数据对象 publishpublish_obj 多对多 models.OneToOneField(toAuthorDetail, on_deletemodels.CASCADE) 方式1  直接给实际字段添加关联数据值     author_detail_id 1 方式2  间接使用外键虚拟字段添加数据对象 一对一 author_detailauthorDetail_obj models.ManyToManyField(toAuthor) add() 添加数据  括号内即可以填写数字值也可以填写数据对象 支持多个 remove() 删除数据  括号内即可以填写数字值也可以填写数据对象 支持多个 set() 修改数据  括号内必须是可迭代对象  clear() 清空指定数据  括号内不需要任何参数 正反向概念 核心 看看外键在哪个类中创建的 正向查询 外键在A中通过A查询B的操作就叫做正向查询 反向查询 外键在A中通过B查询A的操作就叫做反向查询 ORM跨表查询口诀 正向查询按外键字段, 反向查询按表名小写.  基于对象的跨表查询(子查询) 步骤 1. 先根据条件查询数据对象 2. 以对象为基准思考正反向概念 # 1.查询主键为1的书籍对应的出版社(书出版社) # 1.1.先根据条件查询数据对象(先查书籍对象) book_obj models.Book.objects.filter(pk1).first() # 1.2.以对象为基准 思考正反向概念(书查出版社 外键字段在书表中 所以是正向查询) print(book_obj.publish)# 2.查询主键为3的书籍对应的作者(书作者) # 2.1.先根据条件查询数据对象(先查书籍对象) book_obj models.Book.objects.filter(pk3).first() # 2.2.以对象为基准 思考正反向概念(书查作者 外键字段在书表中 所以是正向查询) print(book_obj.authors) # app01.Author.None print(book_obj.authors.all())# 3.查询jason的作者详情 # 3.1.先根据条件查询数据对象 author_obj models.Author.objects.filter(namejason).first() # 3.2.以对象为基准 思考正反向概念 print(author_obj.author_detail) 基于对象的反向跨表查询 # 4.查询南方出版社出版的书籍 # 4.1.先拿出版社对象 publish_obj models.Publish.objects.filter(name南方出版社).first() # 4.2.思考正反向 # print(publish_obj.book) # print(publish_obj.book_set) # app01.Book.None print(publish_obj.book_set.all())# 5.查询jason写过的书 # 5.1.先拿作者对象 author_obj models.Author.objects.filter(namejason).first() # 5.2.思考正反向 # print(author_obj.book) # print(author_obj.book_set) # app01.Book.None print(author_obj.book_set.all())# 6.查询电话是110的作者 # 6.1.先拿作者详情对象 author_detail_obj models.AuthorDetail.objects.filter(phone110).first() # 6.2.思考正反向 print(author_detail_obj.author) 基于双下划线的跨表查询(连表操作) 基于双下划线的正向跨表查询 # 1.查询主键为1的书籍对应的出版社名称及书名 res models.Book.objects.filter(pk1).values(publish__name,title) print(res) # 2.查询主键为3的书籍对应的作者姓名及书名 res models.Book.objects.filter(pk3).values(authors__name, title) print(res) # 3.查询jason的作者的电话号码和地址 res models.Author.objects.filter(namejason).values(author_detail__phone,author_detail__addr) print(res) 基于双下划线的反向跨表查询 # 4.查询南方出版社出版的书籍名称和价格 res models.Publish.objects.filter(name南方出版社).values(book__title,book__price) # print(res)# 5.查询jason写过的书的名称和日期 res models.Author.objects.filter(namejason).values(book__title,book__publish_time) # print(res)# 6.查询电话是110的作者姓名和年龄 res models.AuthorDetail.objects.filter(phone110).values(author__name,author__age) print(res) 研究ORM跨表本质 # 7.查询主键为1的书籍对应的作者电话号码 res models.Book.objects.filter(pk1).values(authors__author_detail__phone)print(res)

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

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

相关文章

网站设置301解除移动屏蔽免费域名分发

原标题:大一能考计算机三级吗?计算机三级考试题型分析计算机等级考试,很多学生在刚刚进入大学时,就想把计算机三级证书拿到手。那么,大一能考计算机三级吗?计算机三级考试题型有哪些?下面&#…

南京 网站建设在线制作微信头像

git push origin HEAD:branch2: 这个命令显式地指定了你要推送的本地引用(HEAD),以及远程仓库的目标引用(origin/branch2)。 HEAD 是一个引用,指向你当前所在的本地分支的最新提交。 这个命令的意图是将当…

甘肃网站建设网站制作网站pc转移动端代码

Error: listen EADDRINUSE: address already in use 0.0.0.0:4723 如下图: 错误原因:Appium 默认的4723端口被占用 解决办法: 出现该提示,有可能是 Appium Server 已启动,关闭已经启动的 Appium Server 即可。472…

域名iis网站添加广州建网站开发seo型企业网站

环境安装 nodejs 安装 下载地址:https://nodejs.org/dist/v18.16.1/ 根据系统类型选择对应安装包,选择安装路径那个后一直下一步即可安装完成。 配置npm 代理镜像,设置为淘宝的镜像地址(后面按照依赖可以加速下载安装包) npm c…

广州建设银行投诉网站wordpress游客怎么发表文章

目录 1 多层索引(MultiIndex) 1.1 创建多层索引 1.1.1 从元组创建多层索引 1.1.2 使用 set_index() 方法创建多层索引 1.2 访问多层索引数据 1.3 多层索引的层次切片 1.4 多层索引的重塑 2 自定义函数和映射 2.1 使用 apply() 方法进行自定义函…

太原市住房与城乡建设厅网站学校网站内容

Maven 的导入时间更加快了。 收到的有邮件提醒安装。 安装后的版本,其实就是升级下,并没有什么主要改变。 IntelliJ IDEA 2023.1 版本可以安装了 - 软件技术 - OSSEZMaven 的导入时间更加快了。 收到的有邮件提醒安装。 安装后的版本,其实就是…

多语言网站建设幻境网站开发广告怎么写

docker fixuid 一、fixuid是什么二、使用场景三、问题dockerfiledocker run 一、fixuid是什么 fixuid是用go语言编写的,当容器起来后可以修改容器中非root用户的UID/GID和文件权限。 项目地址:https://github.com/boxboat/fixuid 二、使用场景 当容器…

在哪几个网站里做自媒体赚钱怎么建设游戏试玩平台网站

在一些场景中经常需要发送邮件, 像是持续集成和运维报警等. 而使用Python脚本能够很快捷方便得实现发送各种邮件的需求.这里就通过Python基于SMTP(Simple Mail Transfer Protocol)实现一套可以群发,Html内容和附件的脚本。既然是要发送各种类型的邮件, 首先需要有一个邮箱.这里…

智能网站建设哪家效果好大型租车门户网站商业版源码

分包分包分包!!!!! 直接略过网上一下简单操作如勾选运行时是否压缩代码,感觉并没有什么用! 众所周知,h5上运行正常的代码,犹豫兼容的原因,在编译为小程序后…

用自己网站域名这么做邮箱免费网站推荐货源

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 概述集成meta-qt5移植过程中的问题问题1:virtual/libgl set to mesa, not mesa-gl问题2:dmabuf-server-buffer tries to use undecl…

寻找定制型网站建设建筑公司二级资质要求

EI源刊是什么意思?EI检索分为两种,一种是会议论文检索,一种是期刊论文检索,这两种检索的价值和地位是不同的,也由此引出了EI源刊的概念,EI检索包括JA类型和CA类型,JA是期刊论文检索,CA是会议论…

如何优化m网站泉州软件开发公司

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧。已支持GPT…

网站中微信公众号链接怎么做网站设计的风格有哪些

在Android中,每个应用都有一个独特的应用ID,用于唯一标识该应用。如果您想配置不同ID的应用,请按照以下步骤操作: 在Android Studio中创建一个新的项目。 在创建项目时,使用不同的应用ID。您可以在app/build.gradle文…

江苏山海连云建设有限公司网站wordpress 网站地图插件

目录 一、简介1.1 参考网址1.2 下载 二、Hello Vue2.1 创建页面2.2 安装Live Server插件2.4 安装 vue-devtools2.5 预览效果 一、简介 Vue(读音 /vjuː/, 类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设…

国外 配色网站佛山专业网站制作公司

单片机是一种内部包含CPU、存储器和输入/输出接口等电路的集成电路(IC芯片) 单片机是单片微型计算机(Single Chip Microcomputer)的简称,用于控制领域,所以又称为微型控制器(Microcontroller U…

网站解析出问题 邮件收不到了自己做的网站打不开了

一、了解表 1.1.概述 表是处理数据和建立关系型数据库及应用程序的基本单元,是构成数据库的基本元素之一,是数据库中数据组织并储存的单元,所有的数据都能以表格的形式组织,目的是可读性强。 1.2.表结构简述 一个表中包括行和列…

中园建设银行网站wordpress主题the 7

四、基于DFT的(理想)滤波 例2:一个“警告” “理想DFT滤波器”虽然简单、有效,但可能会导致意想不到的问题。在博客 【数字信号处理】基于DFT的滤波系列2(含MATLAB代码) 中,数据本身是理想的,由完美的谐波组成,这些谐波在频域中以单一频率理想地表示(无频谱泄漏),这…

没有备案做盈利性的网站违法吗抖音广告代理商加盟

梯度下降算法是一种用于寻找函数最小值的优化算法。 它在机器学习和深度学习中被广泛使用,特别是在训练神经网络时。我们可以通过一个简单的生活中的例子来理解它: 想象你在一座山上,需要找到最快的路线下山。你不能一眼看到最低点&#xf…

html5餐饮美食订餐微官网wap手机网站模板整站下载个人 建设图片分享网站

目录 写在开头1. 优惠券营销的战略意义1.1 优惠券对消费者行为的影响1.1.1 改变购买决策1.1.2 增加购买意愿 1.2 优惠券在促销活动中的应用1.2.1 提高产品销量1.2.2 增强市场占有率 2. 数据分析在优惠券营销中的应用2.1 优惠券使用率和转化率分析2.2 消费者行为分析与细分2.3 优…