python - 如何将 OrientDB 与 Django 一起使用?

标签 python django orientdb non-relational-database

我正在构建一个 Django 项目,该项目使用关系数据库(用于开发目的 SQLite)和非关系数据库(OrientDB)。这是我第一次使用非关系数据库,我很难用 Django 设置它。

在我的项目中使用 OrientDB 只是为了跟踪 friend 关系和 friend 的 friend 关系,而所有其他用户数据都存储在我的关系数据库中。

我知道我需要在我的设置文件中注册数据库。我正在尝试做这样的事情:

#setting.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    },

    'friends': {
        'NAME': 'friends',
        'ENGINE': 'django.db.backends.orientdb',
        'USER': 'root',
        'PASSWORD': 'hello',
        'HOST': '',
        'PORT': '2480',
    }
}

但是,当我这样做时,我收到错误:

No module named 'django.db.backends.orientdb'

这个后端模块是我必须自己创建的吗?或者每当我需要完成特定的操作时,我可以在代码中手动连接到数据库吗?例如,每当有人在我的 SQLite 数据库中创建新用户时,我可以使用信号 post_save

  1. 连接到 OrientDb,
  2. 在 Orient DB 中创建一个好友实例,并且
  3. 与 OrientDB 断开连接?

似乎应该有一种更简洁的方法来做到这一点。

最佳答案

这几乎肯定是您需要自己构建的东西,尽管您的用例听起来并不需要整个 Django 后端。一些手动查询可能就足够了。

Django officially supports PostgreSQL、MySQL、SQLite 和 Oracle。有third-party SAP SQL Anywhere、IBM DB2、Microsoft SQL Server、Firebird 和 ODBC 后端。

有一个abandoned project试图为 Django 提供 OrientDB 后端,但它已经很长时间没有更新了,可能需要很多爱:

This project isn't maintained anymore, feel free to fork and keep it alive.

无论您选择如何继续,您都应该看看 OrientDB's Python library .

关于python - 如何将 OrientDB 与 Django 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52708927/

相关文章:

python - 如何 "rowise merge" Pandas 数据帧

python - 使用 asyncio.gather 不会引发内部异常

python - curve_fit似乎高估了估计参数的误差

django - 如何在 Django 测试服务器中防止 HTTP 304

javascript - orientjs:在事务中更新插入边

java - OrientDB 的 ShortestPath 查询太慢

python - 如何用 pandas 计算百分比和累积百分比

django - 如何以编程方式在 Django 中存储 S3 图像

Django request.FILES 为空

python-3.x - Graph Factory 找不到 gremlin.graph 属性配置