一、数据库配置
- mysql
Django项目默认使用mysqldb模块进行和mysql数据库之间的交互操作,但是mysqldb 模块对于 python3.4 以上的版本支持还不够完善,所以我们要使用替代方案,通过 pymysql 模块完成和数据库之间的交互过程。
Django 连接 mysql 数据库的操作,是通过根模块的配置实现的,在项目根模块的配置文件 settings.py 中,我们可以查询到如下默认配置:
pip install pymysql -i http://mirrors.aliyun.com/pypi/simple/
# 引入需要的模块
import pymysql
# 转换数据库支持
pymysql.install_as_MySQLdb()
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_test_django',
'HOST':'127.0.0.1',
"PORT":"3306",
"USER":"root",
"PASSWORD":"tangsiqi123A",
"CHARSET":"utf8"
}
}
二、定义创建模型
在 Django 项目中定义模型数据,其实就是定义 class 类型,通过类型创建的对象来封装和管理数据,一定要在这里明确关联和对应关系。
有了对应关系之后,我们要创建的模型对象的属性必须和数据库中的字段类型对应起来
每个字段定义时,都会有自己的一些特殊的选项指定:
在大部分项目中,还会涉及到多表关联操作:
from django.db import models
# Create your models here.
class User(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=50)
nickname = models.CharField(max_length=255, null=True,blank=True)
age = models.IntegerField()
class Article(models.Model):
id = models.AutoField(primary_key = True)
title = models.CharField(max_length=255)
content = models.TextField()
author = models.ForeignKey(User, on_delete=models.CASCADE)
三、数据库同步操作
- 创建迁移记录文件
python manage.py makemigrations
通过运行makemigrations命令,Django 会检测你对模型文件的修改,也就是告诉Django你对模型有改动,并且你想把这些改动保存为一个“迁移(migration)”。
migrations是Django保存模型修改记录的文件,这些文件保存在磁盘上。在例子中,它就是blog/migrations/0001_initial.py,你可以打开它看看,里面保存的都是人类可读并且可编辑的内容,方便你随时手动修改。
- 查看生成的sql语句
python manage.py sqlmigrate blog 0001
- 同步到数据库
python manage.py migrate
四、交互模式
python manage.py shell