【记录】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)
相关推荐
shirsl8 分钟前
算法 Day1-数组 / 哈希 + 双指针
python·算法·哈希算法
广州山泉婚姻6 小时前
Python序列号源码分析
python
计算机源码社6 小时前
【大数据项目实战】基于大数据的影视内容生态综合质量分析与可视化-基于数据挖掘的影视内容类型共现与口碑聚类分析系统
大数据·人工智能·python·数据挖掘·数据分析·毕业设计·课程设计
C^h7 小时前
pytorch 适合初学者 0基础学习
人工智能·pytorch·python
小柯南敲键盘7 小时前
跨马翻译:AI批量图片翻译工具,跨境电商视频字幕翻译与智能抠图一体搞定
人工智能·python·音视频
2601_962297257 小时前
Python里behave和pytest-bdd哪个更适合中大型项目?为什么?
python·bdd·行为驱动开发·behave·pytest-bdd
YCOSA20259 小时前
系统工具使用检测.exe (仅供娱乐)
python·microsoft
2601_962295339 小时前
如何python实现网页的自动化
python·selenium·beautifulsoup·requests·网页自动化
ofoxcoding10 小时前
GPT Image 2.5 API 实战:Python 调用实现图片生成与编辑
人工智能·python·gpt·ai
张小姐的猫10 小时前
【AI大模型接入SDK】 —— Gemini接入封装
android·数据结构·数据库·c++·人工智能·python