【发布时间】:2018-01-13 07:50:08
【问题描述】:
我可以同时使用关系数据库(例如:mysql)和非关系数据库(例如:mongodb)作为 Django 项目的后端数据库吗?如果可以的话怎么做?
我用Django version 1.11
【问题讨论】:
标签: django relational-database django-nonrel non-relational-database
我可以同时使用关系数据库(例如:mysql)和非关系数据库(例如:mongodb)作为 Django 项目的后端数据库吗?如果可以的话怎么做?
我用Django version 1.11
【问题讨论】:
标签: django relational-database django-nonrel non-relational-database
是的,有点。 MongoDB 不支持作为 Django 的 ORM 的后端,但是,您可以通过 MongoDB Python 使用。
在这种情况下,我会在 DATABASES 设置中使用 MySQL 作为 default 数据库。我会为我所有的 Django ORM 函数使用 MySQL,并且只在需要的地方使用 MongoDB。然后,您可以通过 Python 连接到 MongoDB 以进行非 ORM 连接。有关通过 Python 连接到 MongoDB 的信息,请参见此处:https://api.mongodb.com/python/3.4.0/
曾经有一个 Mongo 后端——同样,没有太多的 ORM 支持——但我上次看到,它已经好几年没有更新了:https://github.com/django-nonrel
祝你好运!
【讨论】:
Book 的类,我可以检索类似 my_books = Books.objects.filter(title__startswith='Hitchhiker') 的记录。