Django单表数据库操作

单表操作

测试脚本
当你只想测试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:多对多,会自动创建第三张表

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

个人商城系统开源(配置支付宝支付2)

原文地址:个人商城系统开源(配置支付宝支付2) - Pleasure的博客 下面是正文内容: 前言 在上一篇文章中我曾提到过关于网站支付宝支付的方法,接下来我们来介绍第二种。 个人博客地址:个人商城系统开源&…

xinference - 大模型分布式推理框架

文章目录 关于 xinference使用1、启动 xinference设置其他参数 2、加载模型3、模型交互 其它报错处理 - transformer.wte.weight 关于 xinference Xorbits Inference(Xinference)是一个性能强大且功能全面的分布式推理框架。 可用于大语言模型&#xff…

【Flask开发实战】配置python虚拟环境

python 虚拟环境是一种管理 Python 项目依赖的工具,它可以帮助你在不同的项目中使用不同的 Python 版本和库,避免了不同项目之间依赖冲突的问题。虚拟环境相当于一个抽屉,在这个抽屉中安装的任何软件包都不会影响到其他抽屉。并且在项目中&am…

线上教学平台|基于Spring Boot+ Mysql+Java+ B/S结构的线上教学平台设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java,ssm,springboot的平台设计与实现项目系统开发资源(可…

MapReduce框架原理

目录 前言一、InputFormat数据输入1.1 切片与MapTask并行度决定机制1.1.1 问题引出1.1.2 MapTask并行度决定机制1.1.3 数据切片与MapTask并行度决定机制 1.2 FileInputFormat切片机制1.2.1 切片大小参数配置1.2.2 切片机制 1.3 TextInputFormat1.3.1 FileInputFormat实现类1.3.…

ASPICE规范之系统追溯矩阵

系统追溯矩阵的需求来自 ISO26262 举例在描述系统追溯矩阵时:客户需求->系统需求;系统需求->客户需求;系统需求->软件需求;系统需求->硬件需求

Ollama 运行 Cohere 的 command-r 模型

Ollama 运行 Cohere 的 command-r 模型 0. 引言1. 安装 MSYS22. 安装 Golang3. Build Ollama4. 运行 command-r 0. 引言 Command-R Command-R 是一种大型语言模型,针对对话交互和长上下文任务进行了优化。它针对的是“可扩展”类别的模型,这些模型在高…

(简单成功)Mac:命令设置别名

案例:给"ls -l"命令,设置别名通过”ll“快速访问 1、在项目根目录底下查看有无.bash_profile文件,注意这个是个隐藏文件,需要使用ls -a命令查看: 没有.bash_profile新建一个文件, 在最后添加一行…

CMake笔记之GLOB和GLOB_RECURSE的使用方法

CMake笔记之GLOB和GLOB_RECURSE的使用方法 —— 杭州 2024-03-19 夜 文章目录 CMake笔记之GLOB和GLOB_RECURSE的使用方法1.GLOB使用方法2.GLOB对比GLOB_RECURSE 1.GLOB使用方法 在 CMake 中,file(GLOB ...) 命令用于将匹配特定模式的文件列表赋值给变量。这可以用…

HarmonyOS应用开发者高级认证答案

** HarmonyOS应用开发者高级认证 ** 以下是高级认证答案,存在个别选项随机顺序答案,自行辨别 判断题 云函数打包完成后,需要到 AppGallery Connect 创建对应函数的触发器才可以在端侧中调用 错 在 column 和 Row 容器组件中,a…

HighTec_TC4 编译器移植 Aurix ADS

ADS 是英飞凌推出的针对 AURIX 芯片的开发平台,该开发环境基于业内流行的 Eclipse 打造而成。 HighTec 作为英飞凌的全球重要合作伙伴和 PDH,作为专业的编译器供应商和嵌入式产品方案提供商,HighTec 早已经为英飞凌最新一代 AURIX TC4XX 芯片…

LeetCode每日一题 翻转二叉树(二叉树)

题目描述 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root [2,1,3] 输出:[2,3,1]示…

Vmware安装Kali

镜像下载地址:https://mirrors.tuna.tsinghua.edu.cn/kali-images/kali-2023.3/kali-linux-2023.3-installer-amd64.iso 新建虚拟机: 新建虚拟机--典型--稍后安装操作系统--Linux--Debian 10.X 64 位(因为kali是基于debian开发的&#xff0…

软件推动开放自动化落地

当你唯一拥有的是一把锤子时,你周围的一切都是钉子。 软件是硬件设备的护城河,国际自动化厂商不遗余力地开发各种新型工业软件,其战略站在应用的制高点。以前我们追求硬件兼容,现在我们要致力于应用引领。如果我们拥有强大的SCADA…

基于python高校选课系统设计与实现flask-django-nodejs-php

随着互联网技术的不断发展,高校选课系统的建设和应用已成为当前高校教育改革的重要方向。选课系统作为高校教务管理的重要组成部分,对于提高教学质量、提高学生的学习效率、优化教学资源配置具有重要的意义。本论文旨在探讨高校选课系统的设计与实现。随…

跨越文化鸿沟:AI在全球化语境中的挑战与机遇

在全球化的今天,人工智能(AI)技术已经渗透到我们生活的方方面面,尤其是在语言翻译和文化交流方面发挥着重要作用。AI翻译工具和服务使得不同语言背景的人们能够跨越语言障碍,进行有效沟通。然而,随着AI应用…

零基础机器学习(3)之机器学习的一般过程

文章目录 一、机器学习一般过程1.数据获取2.特征提取3.数据预处理①去除唯一属性②缺失值处理A. 均值插补法B. 同类均值插补法 ③重复值处理④异常值⑤数据定量化 4.数据标准化①min-max标准化(归一化)②z-score标准化(规范化) 5.…

基于yolov2深度学习网络的人脸检测matlab仿真,图像来自UMass数据集

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 网络架构与特征提取 4.2 输出表示 4.3损失函数设计 4.4预测阶段 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 load yolov2.mat% 加载…

让Chrome支持小于12px 的文字方式有哪些?区别?

文章目录 一、背景二、解决方案Zoom-webkit-transform:scale()-webkit-text-size-adjust:none 三、总结参考文献 一、背景 Chrome 中文版浏览器会默认设定页面的最小字号是12px,英文版没有限制 原由 Chrome 团队认为汉字小于12px就会增加识别难度 中文版浏览器 …

Cesium:按行列绘制3DTiles的等分线

作者:CSDN @ _乐多_ 本文将介绍如何使用 Cesium 引擎根据模型的中心坐标,半轴信息,绘制 3DTiles 对象的外包盒等分线。 外包盒是一个定向包围盒(Oriented Bounding Box),它由一个中心点(center)和一个包含半轴(halfAxes)组成。半轴由一个3x3的矩阵表示,这个矩阵是…