Django Notes(2)—配置数据库
数据库的配置
在setting.py中设置时区
#数据库字段中包含时间需要调整时区
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
sqlite数据库
直接使用setting.py中原先的代码即可
在控制台输入 python manage.py migrate 完成配置
MySql数据库
在项目中setting.py中做出如下修改
# 需要注释原先的sqlite的配置代码添加连接mysql的配置代码
# 同时需要下载pymysql库
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
# }
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'car_sale',
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
'PORT': '3306',
}
}
在项目中__init__.py中添加
import pymysql
pymysql.install_as_MySQLdb()
在控制台输入 python manage.py migrate 完成mysql数据库的配置
创建模型
# 创建规则在微信公众号查看
class Student(models.Model):
student_id = models.AutoField(primary_key=True)
student_name = models.CharField(verbose_name='学生姓名', max_length=10)
student_class = models.ForeignKey("ClassName", verbose_name='学生班级', max_length=10,on_delete=models.CASCADE, null=True, blank=True)
class Meta:
verbose_name = '学生管理'
verbose_name_plural = verbose_name
def __str__(self):
return "{}".format(self.student_name)
class ClassName(models.Model):
class_id = models.AutoField(primary_key=True)
class_name = models.CharField(verbose_name='班级姓名', max_length=10)
class Meta:
verbose_name = '班级管理'
verbose_name_plural = verbose_name
def __str__(self):
return "{}".format(self.class_name)
激活模型
# setting.py中添加
INSTALLED_APPS = [
# 添加这一条 <应用名>.apps.<应用名>Config
'testapp.apps.TestappConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
控制台输入完成激活之后数据库表格自动生成
python manage.py makemigrations inspection
python manage.py sqlmigrate inspection 0001
python manage.py migrate
# 其他操作
#检查项目中的操作(对项目无影响)
python manage.py check
# 修改数据库操作
# 编辑 models.py 文件,改变模型。
# 运行 python manage.py makemigrations 为模型的改变生成迁移文件。
# 运行 python manage.py migrate 来应用数据库迁移。
扫码关注【现在学习也不晚】一起踩学习路上遇到的坑。