Я создаю проект 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',
}
}
Однако когда я это делаю, я получаю сообщение об ошибке:
No module named 'django.db.backends.orientdb'
Я должен создать этот бэкэнд-модуль сам, или я могу вручную подключиться к БД в моем коде, когда мне нужно что-то конкретное сделать? Например, всякий раз, когда кто-то создает нового пользователя в моей базе данных SQLite, могу ли я использовать Signal post_save для
Похоже, должен быть более чистый способ сделать это.






Это почти наверняка то, что вам нужно будет создать самостоятельно, хотя ваш вариант использования не звучит так, как будто для этого требуется весь бэкэнд Django. Может быть достаточно нескольких ручных запросов.
Django официально поддерживает PostgreSQL, MySQL, SQLite и Oracle. Существуют бэкенды третья сторона для SAP SQL Anywhere, IBM DB2, Microsoft SQL Server, Firebird и ODBC.
Существует заброшенный проект, который пытался предоставить бэкэнд OrientDB для Django, но он не обновлялся довольно долгое время и, вероятно, нуждается в большой любви:
This project isn't maintained anymore, feel free to fork and keep it alive.
Независимо от того, как вы решите продолжить, вам, вероятно, следует взглянуть на Библиотека Python OrientDB.