Django 笔记5 – 数据库
Django 系列笔记是笔者学习、实践使用 Django 的相关笔记,大量参考了知了课堂的《Django零基础到项目实战》教程。
参考文档:
Django官方文档(英文)
Django 中文文档
一、配置数据库连接
1、配置数据库
配置 settings.py 文件中的 DATABASES:
DATABASES = {
'default': {
# 数据库引擎,mysql、oracle等
'ENGINE': 'django.db.backends.mysql',
# 数据库的名字
'NAME': 'django_demo',
# 连接mysql数据库的用户名
'USER': 'root',
# 连接mysql数据库的密码
'PASSWORD': '123456',
# mysql数据库的主机地址
'HOST': '127.0.0.1',
# mysql数据库的端口号
'PORT': '3306',
}
}
2、Django 操作数据库
Django 操作数据库方式:
- 使用原生 SQL 语句操作
- 使用 ORM 模型来操作
二、Django 使用原生 SQL 语句
1、SQL 语句操作数据库
# 使用django封装好的connection对象,会自动读取settings.py中数据库的配置信息
from django.db import connection
# 获取游标对象
cursor = connection.cursor()
# 拿到游标对象后执行sql语句
cursor.execute("select * from book")
# 获取所有的数据
rows = cursor.fetchall()
# 遍历查询到的数据
for row in rows:
print(row)
2、Python DB API
任何使用 Python 来操作 MySQL 的驱动程序都遵循这个规范。所以不管是使用 pymysql 还是是 mysqlclient ,他们的接口都是一样的。
更多操作可参考:MySQL 笔记9 – PyMySQL
三、Django 使用 ORM 模型
1、ORM 模型
- ORM,全称Object Relational Mapping,中文叫做对象关系映射,通过ORM我们可以通过类的方式去操作数据库,而不用再写原生的SQL语句。通过把表映射成类,把行作实例,把字段作为属性,ORM在执行对象操作的时候最终还是会把对应的操作转换为数据库原生语句
-
- ORM模型一般都是放在 app 的 models.py 文件中。每个app都可以拥有自己的模型。并且如果这个模型想要映射到数据库中,那么这个app必须要放在settings.py的INSTALLED_APP中进行安装
2、创建 ORM 模型
- ORM 模型必须继承自django.db.models.Model
- ORM 模型映射到数据库中,表名默认是模型名称的小写形式
from django.db import models
class User(models.Model):
name = models.CharField(max_length=20,null=False)
age = models.IntegerField(default=0)
birthday = models.DateTimeField(default=datetime.now)
3、映射 ORM 模型到数据库
- 在命令行终端,进入到项目所在的路径,然后执行命令 python manage.py makemigrations 来生成迁移脚本文件
- 执行命令 python manage.py migrate来将迁移脚本文件映射到数据库中
- 如果出错:https://blog.csdn.net/xiaoyaosheng19/article/details/82643729
GOOD LUCK!