数据库连接
在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)