📅  最后修改于: 2023-12-03 14:40:48.155000             🧑  作者: Mango
Django 是一个广泛使用的 Web 框架,它可以与多个类型的数据库进行连接。本文将深入介绍 Django 中的数据库连接。
在 Django 中,配置数据库的代码位于项目根目录下的 settings.py
文件中。以下是一个简单的数据库配置示例:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {
'charset': 'utf8mb4',
}
}
}
ENGINE
:指定要使用的数据库后端,例如 MySQL、PostgreSQL、SQLite3 等。NAME
:数据库的名称。USER
:连接数据库的用户名。PASSWORD
:连接数据库的密码。HOST
:连接数据库的主机名或 IP 地址。PORT
:连接数据库的端口号。OPTIONS
:指定数据库的一些可选参数,例如字符集等。Django 提供了一套对象关系映射(ORM)工具,用于操作数据库。ORM 是一种将数据库中的数据映射为 Python 对象的技术,开发者可以使用 Python 代码而不是 SQL 语句来操作数据库。
在 Django 中,数据库中的表被称为模型,每个模型都对应着一个 Python 类。以下是一个简单的模型定义示例:
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=30)
age = models.IntegerField()
email = models.EmailField()
def __str__(self):
return self.name
models.Model
:继承该类,使 Python 类成为一个数据库表的模型。models.CharField()
:定义字符串类型的字段。models.IntegerField()
:定义整数类型的字段。models.EmailField()
:定义电子邮件类型的字段。__str__()
:该方法定义了每个对象的字符串表示形式。在定义完模型后,需要运行 python manage.py makemigrations
命令来生成迁移文件,该文件将存储数据模型变更的历史记录。接着运行 python manage.py migrate
命令来将迁移文件应用到数据库。
Django 提供了多种方法来查询数据库中的数据,以下是一些常用的查询方法:
# 获取所有 Person 对象
Person.objects.all()
# 获取第一个 Person 对象
Person.objects.first()
# 根据名称查找 Person 对象
Person.objects.get(name='张三')
# 根据名称模糊查找 Person 对象
Person.objects.filter(name__contains='张')
# 根据年龄排序查找 Person 对象
Person.objects.order_by('-age')
# 根据年龄查找 Person 对象并统计数量
Person.objects.filter(age=18).count()
以下是一些常用的修改数据库记录的方法:
# 创建 Person 对象
p = Person(name='张三', age=18, email='zhangsan@qq.com')
p.save()
# 更新 Person 对象
p = Person.objects.get(name='张三')
p.age = 19
p.save()
# 批量更新 Person 对象
Person.objects.filter(age=19).update(age=20)
# 删除 Person 对象
p = Person.objects.get(name='张三')
p.delete()
在 Django 中,通过配置 settings.py
文件即可连接数据库,并且可以使用 Django 提供的 ORM 工具方便地进行增、删、查、改操作。