我正在构建一个Django项目,它使用关系数据库(出于开发目的,使用SQLite)和非关系数据库(OrientDB)。这是我第一次使用非关系型数据库,我很难用Django来设置它。
在我的项目中,OrientDB的用途仅仅是跟踪朋友关系和朋友关系,而所有其他用户数据都存储在我的关系数据库中。
我知道我需要在我的设置文件中注册数据库。我正在尝试这样做:
#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',
}
}
然而,当我这样做时,我得到了错误:
没有名为'django.db.backends.orientdb‘的模块
这个后端模块是我必须自己创建的吗?或者当我需要做一些特定的事情时,我可以在我的代码中手动连接到DB吗?例如,每当有人在我的SQLite DB中创建新用户时,我是否可以使用信号post_save
来
似乎应该有一种更干净的方式来做这件事。
发布于 2018-10-08 19:44:02
这几乎肯定是您需要自己构建的东西,尽管您的用例听起来并不需要整个Django后端。几个手动查询可能就足够了。
Django officially supports PostgreSQL、MySQL、SQLite和甲骨文。SAP SQL Anywhere、IBM、Microsoft SQL Server、Firebird和DB2都有third-party后端。
有一个abandoned project试图为Django提供一个OrientDB后端,但它已经很长时间没有更新了,可能需要很多人的支持:
这个项目已经不再维护了,你可以随意使用它并保持它的生命力。
无论您选择如何继续,您都应该看看OrientDB's Python library。
https://stackoverflow.com/questions/52708927
复制相似问题