当前位置: 首页 > news >正文

【记录】Django数据库的基础操作

 数据库连接

在Django中使用 mysqlclient 这个包用于数据库的连接,切换至 Django环境中直接

pip install mysqlclient 

安装此包

 1 数据库连接配置

在项目目录下的setting.py中配置

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'mini',#数据库名'USER': 'ro',#用户名'HOST': 'localhost',#服务器IP'PORT': '3306',33端口号'PASSWORD': '1456',#密码'OPTIONS': {'charset': 'utf8mb4'},}
}

2 定义Models 

注意书写过程中需要保证缩进,不要在某一行后加 逗号等标点符号

from django.db import models# Create your models here.
#创建数据库中的表 
#数据库需要先创建好 因为 mysqlclient 这个包只能创建表 不能创建数据库
#表名:ai_imgdetail
class ImgDetail(models.Model):#图片的idimgId = models.BigIntegerField()#上传时间timeStamp = models.DateTimeField()#校验时间validateTime = models.DateTimeField()#经度longitude = models.FloatField()longitudeRef = models.CharField(max_length=2)#纬度latitude = models.FloatField()latitudeRef = models.CharField(max_length=2)#海拔altitude = models.FloatField()altitudeRef = models.CharField(max_length=32)

3 运行 

切换至项目根目录下,打开命令行,运行

python .\manage.py makemigrations

此命令后,会在项目根目录下生成migratons文件夹

然后运行表生成命令

 python .\manage.py migrate       

上述命令结束后,数据库中会生成创建好的数据表,但是会包含很多其他的表:

这个主要是在 Django的根目录下(setting.py)文件中包含下面的内容

如果上述命令在数据库中形成的表不对,则需要将 app文件夹中的 001_initial.py删除,重新运行上述两个命令。

4 表格或列删除

直接将models.py中的类注释,或某列名注释,再运行上述的命令即可。

5 已有表格添加新列

由于已有表格中有数据,当添加新列时,需要指定列的默认值。两种方法:

5.1 直接使用命令,会出现下面的提示

5.2 程序中直接添加
altitude = models.FloatField(default=0.1)
或
altitude = models.FloatField(null=True,blank=True)

http://www.lryc.cn/news/467060.html

相关文章:

  • XHCI 1.2b 规范摘要(五)
  • 小程序短链接生成教程
  • C++进阶之路:再谈构造函数、static成员、友元(类与对象_下篇)
  • C 函数指针与回调函数
  • CTF(九)
  • 三种单例实现
  • Spring XML配置方式和Spring Boot注解方式的详细对照关系
  • leetcode 无重复字符串的排列和组合
  • 7. 配置
  • WPF中Grid、StackPanel、Canvas、WrapPanel的区别
  • 昇思MindSpore进阶教程--开发常见问题
  • 【Linux】Linux进程地址空间
  • 创建包含可导入浏览器信任的SSL自签名证书
  • [Windows] 很火的开源桌面美化工具 Seelen UI v2.0.2
  • 华帝携手抖音头部达人,金牌导演李力持量身打造厨电定制微短剧
  • 监控易监测对象及指标之:JBoss 7.1.x中间件监控
  • Java 模拟退火算法
  • LeetCode[中等] 80. 删除有序数组中的重复项 II
  • 机器学习5
  • 【Python技术】利用akshare定时获取股票实时价,低于5日线钉钉通知报警
  • LINUX1.2
  • Proximal Distance Algorithm (近段距离算法)
  • 如何判断一个数是几位数与这个数是否为回文数并打印出其逆序数
  • Solon 之 STOMP
  • 在掌控板上搭建http服务器
  • HCIA复习实验
  • 生信软件39 - GATK最佳实践流程重构,提高17倍分析速度的LUSH流程
  • c#编写的各类应用程序、类库的引用(黑白盒)
  • 计算机网络考研笔记
  • 用感性的方式浅要了解什么是AI 与 大模型