django学习入门系列之第十点《django中数据库操作--创建与删除表》

文章目录

  • django创建与删除表
    • 开始创建表
    • 创建指令
    • 新增表
    • 删除表
    • 删除列
    • 新增列
    • 修改报错提示语言
    • 总结
  • 往期回顾


django创建与删除表

  • 删除表

  • 创建表

  • 修改表

  • 操作目录

在这里插入图片描述

开始创建表

class text_into(models.Model):name = models.CharField(max_length=32)password = models.CharField(max_length=64)age = models.IntegerField()
  • 解析
django给你创建的表名是
APP的名称 + 类的名称(自动转化成小写)
如:app01_text_into
models.CharField(max_length=32):他的意思是创建一个varchar类型(32位的)name = varchar(32) 是一样的models.IntegerField()他的意思是创建一个int类型age = int() 是一样的# 除此之外。他还会给自动给你创建id  id bigint auto_increment primary key,django 会根据这些类来进行“翻译”

创建指令

  • 之后再执行命令才能真正的创建

注意:这个app要提前注册,不然他不会给你提交到数据库

python manage.py makemigrations
python manage.py migrate
  • 创建后
    • 为什么会有那么多的表,是因为他顺便帮我们把那些默认的表都生成了
+----------------------------+
| Tables_in_unicom           |
+----------------------------+
| admin                      |
| app01_text_into            |
| auth_group                 |
| auth_group_permissions     |
| auth_permission            |
| auth_user                  |
| auth_user_groups           |
| auth_user_user_permissions |
| django_admin_log           |
| django_content_type        |
| django_migrations          |
| django_session             |
+----------------------------+
mysql> desc app01_text_into;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | bigint      | NO   | PRI | NULL    | auto_increment |
| name     | varchar(32) | NO   |     | NULL    |                |
| password | varchar(64) | NO   |     | NULL    |                |
| age      | int         | NO   |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+

新增表

直接在那文件中创建新的类就行了models.py,并重新执行命令

删除表

直接在那文件中注释/删除新的类就行了models.py,并重新执行命令

删除列

直接删就行

新增列

在表中新增列时,由于已存在列中可能已有数据,所以新增列必须要指定新增列对应的数据

  • 新增列的时候,django会应为怕数据库里面又值,会给你警示
Please select a fix:1) Provide a one-off default now (will be set on all existing rows with a null value for this column)2) Quit and manually define a default value in models.py.
选择1 则会让你输入一个值   选择2,退出操作选择1并输入一个值的话
那个值会填充满那一列填完之后再python manage.py migrate创建就行了

在这里插入图片描述

  • 或者直接添加默认值
age = models.IntegerField(default=1)
  • 或者让这个值默认为空
data = models.IntegerField(null=True, blank=True)

这样创建这一列就默认为空了

修改报错提示语言

LANGUAGE_CODE = 'zh-hans'

在这里插入图片描述

总结

以后在开发中如果想要对表结构进行调整

  • 在models.py文件中操作类即可
  • 命令
python manage.py makemigrations
python manage.py migrate

往期回顾

1.【快速开发网站】
2.【浏览器能识别的标签1】
3.【浏览器能识别的标签2】
4.【浏览器能识别的标签3】
5.【浏览器能识别的标签4】
6.【案例1:用户注册】
7.【案例2:用户注册改进】
8.【快速了解 CSS】
9.【常用选择器概念讲解】
10.【CSS基础样式介绍1】
11.【CSS基础样式介绍2】
12.【CSS基础样式介绍3】
13.【CSS基础样式介绍3】
14.【案例 小米商城头标】
15.【案例 小米商城头标总结】
16.【案例 小米商城二级菜单】
17.【案例 商品推荐部分】
18.【伪类简单了解】
19.【position】
20.【案例 小米商城中app图标代码】
21.【边框及总结】
22.【BootSrap初了解】
23.【BootSrap的目录栏】
24.【BootSrap的栅格系统】
25.【案例 博客案例】
26.【案例 登录】
27.【案例 后台管理样例】
28.【图标】
29.【BootStrap依赖】
30.【javascript初了解】
31.【jJavaScript的变量】
32.【JavaScript的字符串类型】
33.【JavaScript的数组介绍】
34.【案例 动态数据】
35.【javascript 对象(字典)】
36.【案例 动态表格】
37.【Javascript的条件语句和函数】
38.【DOM初了解】
39.【DOM的事件了解】
40.【jQuery初了解】
41.【jQuery寻找标签】
42.【jQuery寻找标签2】
43.【jQuery寻找标签(间接寻找)】
44.【案例 菜单的切换】
45.【案例 只能打开一个菜单】
46.【jQuery 简单操作】
47.【案例 动态创建数据】
48.【案例 点击获取文本】
49.【案例 点击删除文本】
50.【案例 表格操作】
51.【案例 添加页面】
52.【初识MySQL】
53.【MySQL命令介绍一】
54.【MySQL命令介绍二】
55.【MySQL命令介绍三】
56.【案例:员工管理】
57.【案例 Flask+MySQL新增用户】
58.【案例 Flask+MySQL查询所有用户】
59.【初识 django】
60.【django的快速上手】
61.【django的模板语法】
62.【django的获取请求与响应】
63.【案例 用户登录】
64.【django中数据库操作】

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

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

相关文章

Electron快速上手

什么是Electron 一款应用广泛的跨平台的桌面应用开发框架。Electron的本质是结合了 Chromium 与Node.js。使用HTML、CSS、JS 等Web技术构建桌面应用程序。 .vue,.tsx,.less,.ts也可以使用 Electron 流程模型 主进程是纯node环境,可以访问__dirname,fs模块等&#…

DDD设计方法-3-仓储,封装持久化数据

前情提要:一共包含 如下六篇文章(篇幅精简,快速入门) 1、初识DDD 2、聚合、实体、值对象 3、仓储,封装持久化数据 4、端口和适配器 5、领域事件 6、领域服务,实现约定 DDD设计方法-3-仓储,封装…

绿联充电宝怎么样?深度测评西圣、绿联、倍思磁吸充电宝!

在如今这个电子设备不离手的时代,充电宝成为了我们生活中不可或缺的伙伴。而磁吸充电宝以其便捷的使用方式和时尚的外观,更是受到了众多消费者的青睐,今天,我们将对西圣、绿联、倍思这三个品牌的磁吸充电宝进行深度测评&#xff0…

Three之材质Material

本文目录 前言一、基础材质1.1 特点及属性1.2 代码1.3 效果 二、标准材质2.1 特点及属性2.2 代码及效果 三、深度材质四、法向材质五、朗伯材质六、Phong式材质七、粒子材质八、 着色器材质九、其他材质 前言 Three.js中的材质(Material)是独立于物体顶点…

Anthropic Claude Artifacts,克劳德聊天机器人如何简化代码编程

最近有一位8岁的小男孩,没有任何编程经验,却成功创建了一个网页游戏。他利用了Claude AI和Cursor来生成代码,这充分展示了人工智能在简化编程和创作过程中的巨大潜力。前几天还能看见一个8岁的女孩用生成式人工智能Cursor ai工具可以搭建出一…

一款基于Vue的低代码可视化表单设计器工具,6K star的可视化表单设计器工具,轻松搞定表单,支持多端适配(附源码)

前言 随着Web应用的日益复杂化,表单的设计与开发成为了许多项目中不可或缺的一环。然而,在实际cao作过程中,表单设计往往面临着重复工作量大、效率低下等问题。那么,是否有一款工具能够简化这一过程,提高开发者的效率…

【MySQL07】【锁】

文章目录 一、前言二、事务的读写情况1. 写-写情况2. 读-写情况3. 一致性读4. 锁定读2.1 共享锁和独占锁2.2 锁定读的语句 5. 写操作 三、多粒度锁四、表锁和行锁1. 表级锁1.1 表级别的 S锁 和 X锁1.2 表级别的 IS 锁和 IX锁1.3 表级别的 AUTO-INC 锁 2. 行级锁2.1 行级锁的分类…

【流式输出】LangChain流式输出的概念

😁 作者简介:一名大四的学生,致力学习前端开发技术 ⭐️个人主页:夜宵饽饽的主页 ❔ 系列专栏:JavaScript小贴士 👐学习格言:成功不是终点,失败也并非末日,最重要的是继续…

记一次头疼事故:springSecurity无法重定向到登录页/springSecurity整合layui后,会话丢失,点击选项卡无法定位到登录页。

1、问题概述? 1、springboot工程引入了springSecurity权限框架实现用户登录功能,当刷新浏览器地址栏的时候能够自动的重定向到登录页实现登录。 2、但是项目中使用了layui的选项卡,当会话丢失的时候(或者重启工程后直接访问),选项卡无法回到登录页,而是选项卡中的数据表…

yolo数据集钢材表面缺陷v8下载适用yolov5等全版本已标注txt格式

钢材表面缺陷检测数据集介绍 数据集概述 本数据集专为钢材表面缺陷检测任务而设计,包含了大量的钢材表面图像,每张图像均带有详细的缺陷标注信息。数据集旨在帮助研究人员和开发人员训练高精度的目标检测模型,以应用于钢材制造和质量控制等多…

建网站公司策划书

建网站公司策划书:建设创新型网站服务企业 一、背景介绍 随着信息时代的来临,互联网已经成为人们生活和工作的重要组成部分。在这个数字化的时代,企业需要强大的在线存在来吸引客户、展示产品和提供服务。为满足市场需求,我们公…

图形语言传输格式glTF和三维瓦片数据3Dtiles(b3dm、pnts)学习

文章目录 3DTilesb3dm一、glTF1.glTF 3D模型格式有两种2.glTF 场景描述结构3.glTF的JSON结构 二、 3DTiles 原文 工具资料 格式详解 格式详解! 3D Tiles 是一种开源的、优化的文件格式,支持逐级细节(LOD)和空间索引,使…

JMeter 快速入门体验,小白也能看得懂!

最近在推进信创转 arm, 遇到的问题是有几个服务在 x86 架构下运行良好,但是在 arm 机器上总是出现问题,为了验证问题,准备使用压测工具做一下压力测试,JMeter 免费开源又好用,趁此机会学习实践一下吧。 JMeter 是开源…

高德地图-小米14 Pro 定制版 v12.10.61.3021 简洁版

高德地图小米14 Pro 定制版是一款专门为小米14 Pro 设计的简洁版高德地图。相较于普通版本,该版本体积更小,运行速度更快,并且没有广告。支持驾车、骑行、公交地铁、步行等多种导航模式,使用北斗卫星导航系统,精准度非…

【机器人学】7-4.六自由度机器人自干涉检测-两圆柱体空间关系【附MATLAB代码】

目录 前言 公式推导 MATLAB代码 前言 前面介绍了两个圆柱的旋转变换,已将两个圆柱体旋转到了比较好分析的位置,下面将正式分析两个圆柱体的位置关系。会借用投影的思想。 一 根据机械臂的几何数据以及DH参数,确定机械臂等…

硬件产品经理进阶:产品层次划分的3个方法

目录 1、内容简介 2、产品三层次概念 3、产品四层次概念 4、产品五层次概念 作者简介 1、内容简介 产品本身指的是能够满足需求和欲望的一种媒介物。 可以是实体、也可以是虚拟的服务。 在产品竞争白热化的今天, 如果只是考虑把产品做出来、 仅仅在实际产…

保存json时,保存成自己喜欢的格式的方法(而不是直接保存成格式化的json文档)

保存json时,不是直接保存成格式化的json文档的格式的方法 前言,博主是如何把格式话的json格式保存成自己喜欢的json格式的保存成格式化的json文档的格式:带缩进格式全部保存成一行每条数据保存成一行: 保存成自己喜欢的格式碎碎念…

红黑树的插入 C++

红黑树与二叉搜索树类似 它在每个节点增加了一个存储位记录节点的颜色,可以是RED,也可以是BLACK;通过任意一条从根到叶子简单路径上颜色的约束,红黑树保证最长路径不超过最短路径的二倍,因而近似平衡(最短路径就是全黑…

深入浅出Stream流

Java 8的新特性之一就是流stream,配合同版本出现的 Lambda ,使得操作集合(Collection)提供了极大的便利。 案例引入 在JAVA中,涉及到对数组、Collection等集合类中的元素进行操作的时候,通常会通过循环的…

学习bat脚本

内容包含一些简单命令或小游戏,在乐趣中学习知识。 使用方法: 新建文本文档,将任选其一代码保存到文档中并保存为ASCII编码。将文件后缀改为.bat或.cmd双击运行即可。 一. 关机脚本 1. 直接关机 echo off shutdown -s -t 00秒直接关机。 2…