📜  使用 Djongo 将 Django 项目连接到 MongoDB(1)

📅  最后修改于: 2023-12-03 15:36:27.567000             🧑  作者: Mango

使用 Djongo 将 Django 项目连接到 MongoDB

Djongo 是一个 Django 的扩展,它可以将 Django 项目连接到 MongoDB 数据库。MongoDB 是一种文档数据库,具有高性能、高可用性、可伸缩性和灵活性等特点,是存储大型数据集的优秀选择。Djongo 可以让开发者将 Django 项目与 MongoDB 集成,实现更快的数据读写和更灵活的数据存储。

安装 Djongo

首先,我们需要安装 Djongo 才能将 Django 项目连接到 MongoDB。

可以使用 pip 工具来安装 Djongo:

pip install djongo

Djongo 还需要 Django 2.2 或更高版本才能正常工作。

配置 Django 项目

在 Django 项目中,我们需要配置数据库连接信息。

打开项目中的 settings.py 文件,找到 DATABASES 配置块。将它改成如下内容:

DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'NAME': 'mydatabase',
        'HOST': 'localhost',
        'PORT': 27017,
    }
}

在上面的配置中:

  • ENGINE 指定了数据库引擎,这里使用了 Djongo。
  • NAME 指定了数据库名称。
  • HOST 指定了数据库服务器地址,默认是 'localhost'。
  • PORT 指定了数据库服务器端口,默认是 27017。

当然,根据实际情况,你还需要配置数据库的用户名和密码等信息。这里就不一一列举了。

创建 MongoDB 数据库

在连接 MongoDB 数据库之前,我们需要创建数据库和集合。

可以使用 MongoDB 的客户端工具(比如 Robo 3T)来操作数据库。

创建数据库和集合可以参考以下命令:

use mydatabase
db.createCollection('mycollection')

这里创建了一个名为 mydatabase 的数据库和一个名为 mycollection 的集合。

编写 Django 模型

在使用 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 的集合来记录迁移记录。

测试 MongoDB 连接

现在我们已经完成了 Django 与 MongoDB 数据库连接的所有准备工作。我们来测试一下数据库是否连接成功。

打开 Python shell,输入以下命令:

from app.models import Book
Book.objects.count()

如果输出 0,说明数据库连接成功,并没有任何数据。

使用 MongoDB

下面我们来看一下如何使用 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 数据库。

步骤如下:

  1. 安装 Djongo。
  2. 配置数据库连接信息。
  3. 创建 MongoDB 数据库和集合。
  4. 定义 Django 模型。
  5. 运行数据库迁移命令。
  6. 测试 MongoDB 连接。
  7. 使用 MongoDB 存储数据。

使用 Djongo 可以让开发者轻松实现 Django 项目与 MongoDB 的集成,享受 MongoDB 提供的高性能、高可用性、可伸缩性和灵活性等优势。