📅  最后修改于: 2023-12-03 15:36:27.567000             🧑  作者: Mango
Djongo 是一个 Django 的扩展,它可以将 Django 项目连接到 MongoDB 数据库。MongoDB 是一种文档数据库,具有高性能、高可用性、可伸缩性和灵活性等特点,是存储大型数据集的优秀选择。Djongo 可以让开发者将 Django 项目与 MongoDB 集成,实现更快的数据读写和更灵活的数据存储。
首先,我们需要安装 Djongo 才能将 Django 项目连接到 MongoDB。
可以使用 pip 工具来安装 Djongo:
pip install djongo
Djongo 还需要 Django 2.2 或更高版本才能正常工作。
在 Django 项目中,我们需要配置数据库连接信息。
打开项目中的 settings.py 文件,找到 DATABASES 配置块。将它改成如下内容:
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'mydatabase',
'HOST': 'localhost',
'PORT': 27017,
}
}
在上面的配置中:
当然,根据实际情况,你还需要配置数据库的用户名和密码等信息。这里就不一一列举了。
在连接 MongoDB 数据库之前,我们需要创建数据库和集合。
可以使用 MongoDB 的客户端工具(比如 Robo 3T)来操作数据库。
创建数据库和集合可以参考以下命令:
use mydatabase
db.createCollection('mycollection')
这里创建了一个名为 mydatabase 的数据库和一个名为 mycollection 的集合。
在使用 MongoDB 之前,我们需要定义一个 Django 模型。
打开 models.py 文件,创建一个简单的模型:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
published = models.DateTimeField()
这里我们定义了一个 Book 模型,有三个字段:title、author 和 published。
为了让 Django 知道我们的模型,我们需要运行数据库迁移命令。
在项目根目录下运行以下命令:
python manage.py makemigrations
python manage.py migrate
这两个命令将同步我们的模型定义和数据库结构。你会发现,Django 会自动创建一个名为 django_migrations 的集合来记录迁移记录。
现在我们已经完成了 Django 与 MongoDB 数据库连接的所有准备工作。我们来测试一下数据库是否连接成功。
打开 Python shell,输入以下命令:
from app.models import Book
Book.objects.count()
如果输出 0,说明数据库连接成功,并没有任何数据。
下面我们来看一下如何使用 MongoDB 存储数据。
from app.models import Book
from datetime import datetime
book = Book(title='Django For Experts', author='John Smith', published=datetime.now())
book.save()
print(Book.objects.count())
在上面的代码中,我们创建了一个 Book 对象,并将其保存到了 MongoDB 数据库中。
如果再次运行 Book.objects.count()
命令,你就可以看到输出结果为 1,说明数据成功保存到了 MongoDB 中。
本篇文章介绍了如何使用 Djongo 将 Django 项目连接到 MongoDB 数据库。
步骤如下:
使用 Djongo 可以让开发者轻松实现 Django 项目与 MongoDB 的集成,享受 MongoDB 提供的高性能、高可用性、可伸缩性和灵活性等优势。