Django单表数据库操作

news2024/11/28 0:29:50

单表操作

测试脚本
当你只想测试django某一个py文件的内容,可以不用书写前后端的交互,直接写一个测试脚本即可
在这里插入图片描述
在这里插入图片描述

单表删除

在这里插入图片描述
在这里插入图片描述

数据库操作方法:
1.all():查询所有的数据
2.filter():带有过滤条件的查询
3.get():直接拿数据对象,不存在则报错
4.first():拿queryset里面的第一个元素
5.last():拿queryset里面的最后一个元素
在这里插入图片描述

6.values():获取指定的数据字段(可以看成是列表套字典的形式)
在这里插入图片描述

select app01_user.age from app01_user where name=’haha’;
7.values_list():获取指定的数据字段(可以看成是列表套元组的形式)
在这里插入图片描述

8.distinct():去重
在这里插入图片描述

9.order_by():排序
在这里插入图片描述

10.reverse():反转,前提是数据已经排序过了,如果没排序,无法反转
在这里插入图片描述

11.count():统计当前数据的个数
在这里插入图片描述

12.exclude():排除在外
在这里插入图片描述

13.exists():判断某个对象是否存在
在这里插入图片描述

queryset对象内部封装了sql语句,可以通过对象.query查看
在这里插入图片描述

第二种查看sql语句:去settings.py中写入一段话,之后每次运行时可以看到

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
        'django.db.backends': {
            'handlers': ['console'],
            'propagate': True,
            'level': 'DEBUG',
        },
    }
}

神奇的双下划线查询
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结:

1.数据表名:django默认以小写应用名_类名作为数据库表名
2.关于主键:django会为表创建自动增长的主键列,每个模型类中只能有一个主键列,如果使用选项设置某属性为主键列,之后django不会再创建自动增长的主键列.默认创建的主键列属性为id,可以用pk代替
3.字段类型
(1)AutoField:自动增长的IntegerField.通常不指定,django会自动创建一个
(2)BooleanField:布尔值字段,值为True或False
(3)NullBooleanField:值为Null,True或False
(4)CharField:字符串,参数max_length表示最大字符数(必须指定)
(5)TextField:大文本字段,一般超过几千个字符的时候使用
(6)IntegerField:整数(范围有限,不能存手机号)
(7)DecimalField:浮点数,参数max_digits表示总位数,参数decimal_places表示小数位
(8)FloatField:浮点型
(9)DateField:年月日
参数:auto_now表示每次修改保存对象时,设置当前时间
auto_now_add表示当创建对象时,设置当前时间
两个参数互斥
(10)TimeField:时间.参数同DateField
(11)DateTimeField:日期时间.参数同DateField
(12)FileField:上传的文件的
(13)ImageField:继承FileField,对上传的文件进行校验,确保是图片
(14)EmailField:邮箱字段(在数据库中就是varchar(255),但是对于后面要将的内容有区分)
4.字段参数
null:表示某个字段可以为空
default:设置默认值
unique:如果设置为True,表示字段唯一
db_column:字段的名称,如果未定,则使用属性名称
db_index:若值为True,则在表中为字段创建索引
primary_key:主键(True)

5.关系字段
ForeignKey:外键,参数
to:要关联的表,
to_field:要关联的字段
on_delete:当删除关联表中的数据时,当前表与关联表的行为,一般用models.CASCADE
OneToOneField:一对一字段,参数同
ForeignKey
ManyToManyField:多对多,会自动创建第三张表

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

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

相关文章

【数据结构取经之路】栈

目录 引言 栈的性质 顺序栈 栈的基本操作 初始化 销毁 插入 删除 判空 取栈顶元素 栈的大小 完整代码: 引言 栈(stack),可以用数组实现,也可以用链表实现。用数组实现的栈叫顺序栈,用链表实现的栈叫链式栈&#…

红外相机和RGB相机标定:实现两种模态数据融合

1. 前期准备 RGB相机:森云智能SG2-IMX390,1个红外相机:艾睿光电IR-Pilot 640X-32G,1个红外标定板:https://item.taobao.com/item.htm?_ujp3fdd12b99&id644506141871&spma1z09.2.0.0.5f822e8dKrxxYI 2.操作步…

C# 方法(函数)

文章目录 C# 方法(函数)简单示例程序代码运行效果 值传递和引用传递示例程序 运行效果按输出传递参数运行结果 C# 方法(函数) 简单示例 程序代码 访问的限制符 using System; using System.Collections.Generic; using Syste…

DevEco Studio 项目创建

安装DevEco Studio后开始使用,双击桌面DevEco Studio 快捷方式弹出界面: 选择Application —> Empty Ability,点击Next 项目配置 Project name:工程的名称,可以自定义,由大小写字母、数字和下划线组成。…

JavaSE——面向对象高级二(3/4)-接口(认识接口、接口的好处)以及接口的综合案例(设计班级学生的信息管理模块)

目录 接口 认识接口 接口的好处 接口的综合案例 需求 学生类 班级管理类 学生操作接口 学生操作类 完善班级管理类 测试 接口 认识接口 Java提供了一个关键字 interface,用这个关键字我们可以定义出一个特殊的结构:接口。 public interface…

个人网站制作 Part 13 添加搜索功能[Elasticsearch] | Web开发项目

文章目录 👩‍💻 基础Web开发练手项目系列:个人网站制作🚀 添加搜索功能🔨使用Elasticsearch🔧步骤 1: 安装Elasticsearch🔧步骤 2: 配置Elasticsearch🔧步骤 3: 创建索引 &#x1f…

[论文笔记] Dual-Channel Span for Aspect Sentiment Triplet Extraction

一种利用句法依赖和词性相关性信息来过滤噪声(无关跨度)的基于span方法。 会议EMNLP 2023作者Pan Li, Ping Li, Kai Zhang团队Southwest Petroleum University论文地址https://aclanthology.org/2023.emnlp-main.17/代码地址https://github.com/bert-ply…

长安链Docker Java智能合约引擎的架构、应用与规划

#功能发布 长安链3.0正式版发布了多个重点功能,包括共识算法切换、支持java智能合约引擎、支持后量子密码、web3生态兼容等。我们接下来为大家详细介绍新功能的设计、应用与规划。 在《2022年度长安链开源社区开发者调研报告》中,对Java合约语言支持是开…

ideaSSM 财务凭证管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 idea 开发 SSM 财务凭证管理系统是一套完善的信息管理系统,结合SSM框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库&#xff…

[Qt学习笔记]Qt下使用Halcon实现采图时自动对焦的功能(Brenner梯度法)

目录 1、介绍2、实现方法2.1 算法实现过程2.2 模拟采集流程 3、总结4、代码展示 1、介绍 在机器视觉的开发中,现在有很多通过电机去做相机的聚焦调节,对比手工调节,自动调节效果更好,而且其也能满足设备自动的需求,尤…

高效的Gitlab Flow最佳实践

文章目录 一、git flow二、github flow三、gitlab flow四、基于gitlab flow的最佳实践1.语义化版本号2.测试发布3.bug修复 参考 业界包含三种flow: Git flowGithub flowGitlab flow 三种工作流程,有一个共同点:都采用"功能驱动式开发&…

圆弧齿的模型怎么建立?

今天咱们聊一聊圆弧齿的相关内容,有兴趣的小伙伴一起来看看吧。 圆弧齿轮发展历史 早期齿轮传动的速度较低、传递的功率小,长期的生产实践使得人们开始意识到对齿轮单个轮齿形状(轮齿齿形)的研究的重要性,齿轮的齿形…

5G安全技术新突破!亚信安全5G安全迅龙引擎正式发布

5G专网应用飞速增长:2020年5G专网数量800个,2021年2300个,2022年5325个,2023年已经超过16000个,5G与垂直行业的融合快速加深,5G带来的变革正加速渗透至各行各业。 5G网络出现安全问题,将是异常严…

MNN createFromBuffer(一)

系列文章目录 MNN createFromBuffer(一) MNN createRuntime(二) MNN createSession 之 Schedule(三) MNN createSession 之创建流水线后端(四) MNN Session::resize 之流水线编码&am…

C语言例3-12:自增和自减运算的例子

i 先引用后加1--i 先减1后引用 代码如下&#xff1a; #include<stdio.h> int main(void) {int i2, j2;char c1d, c2D; //d(100) D(68)printf("i %d\n",i); //3, i3printf("j-- %d\n",j--); …

Design Script之案例练习:曲线组合

让我们来探索一下如何创建分组曲线函数。这个函数将取一个无序曲线列表(必须是连续的),并将它们组合成分组的循环。 在这个例子中,我们将采取一系列的9个爆炸矩形,并洗牌合成曲线。这给了我们36条单独的曲线,它们可以正确地组合回各自的矩形中。 一些分散的曲线显示在右边…

发布镜像到阿里云仓库

发布上一篇Dockerfile实战-自定义的centos镜像。 1、登录阿里云 2、找到容器镜像服务 3、创建命令空间 4、创建镜像仓库 5、点击进入这个镜像仓库&#xff0c;可以看到所有的信息 6、根据操作指南测试推送发布 6.1登录阿里云 [rootzhoujunru home]# docker login --usernam…

数据仓库系列总结

一、数据仓库架构 1、数据仓库的概念 数据仓库&#xff08;Data Warehouse&#xff09;是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合&#xff0c;用于支持管理决策。 数据仓库通常包含多个来源的数据&#xff0c;这些数据按照主题进行组织和存储&#x…

mapboxgl添加雪碧图 addImage loadImage png/jpg svg

一、mapboxgl可以添加png或者jpg类型的图片到雪碧图中 async function addPng(id, url) {const img await new Promise((resolve) > {map.loadImage(url, (error, image) > {if (error) throw error;resolve(image);});});if (!map.hasImage(id)) {map.addImage(id, img…

【链表】算法例题

目录 八、 链表 57. 环形链表 ① 58. 两数相加 ② √ 59. 合并两个有序链表 ① √- 60. 随机链表的复制 ② 61. 反转链表II ② 62. K个一组翻转链表 ③ 63. 删除链表的倒数第N个结点 ② √- 64. 删除排序链表中的重复元素II ② √- 65. 旋转链表 ② √- 66. 分隔链…