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

【记录】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):
    #图片的id
    imgId = 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.kler.cn/a/349677.html

相关文章:

  • 从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(基础组件实现)
  • 项目测试之Postman
  • 572. 另一棵树的子树
  • 【狂热算法篇】探秘图论之Dijkstra 算法:穿越图的迷宫的最短路径力量(通俗易懂版)
  • VS2008 - debug版 - 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。
  • AI时序预测: iTransformer算法代码深度解析
  • 【计算机网络 - 基础问题】每日 3 题(三十六)
  • OPC UA与PostgreSQL如何实现无缝连接?
  • 使用Yolov10和Ollama增强OCR
  • 即时通讯增加Redis渠道
  • Solon-Boot 与 SpringBoot 的概念差别
  • js获取硬件设备
  • 前端数据拷贝(浅拷贝、深拷贝)
  • Ubuntu里彻底卸载UHD
  • PHP WebSocket
  • nginx代理内网服务器8080端口
  • 【jQuery】jQuery基本操作(样式操作 内容操作 节点操作 属性操作 节点遍历)
  • 作为企业的管理者,应该怎样面对信息安全等级测评这项国家政策?
  • 从纸质到云端:3C产品说明书的电子化进程与影响
  • (Java企业 / 公司项目)阿里云aliyun-对象存储OSS详细从开通到配置(微服务架构选用)
  • 通过华为鲲鹏认证发行上市的集成平台产品推荐
  • 2.2机器学习--逻辑回归(分类)
  • 鸿蒙--设置项布局
  • .net core 实现异步的方式有哪些?
  • Python 中 NameError 全局名称未定义
  • RHCE的学习(1)