Как я могу использовать OrientDB с Django? - PullRequest
0 голосов
/ 08 октября 2018

Я строю проект 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'

Является ли этот внутренний модуль тем, что я должен создать сам, или я могу вручную подключаться к БД в своем коде всякий раз, когда мне нужно что-то конкретное сделать?Например, всякий раз, когда кто-то создает нового пользователя в моей БД SQLite, могу ли я использовать сигнал post_save до

  1. для подключения к OrientDb,
  2. создать экземпляр друга в БД Orient,и
  3. отключается от OrientDB?

Кажется, что должен быть намного более чистый способ сделать это.

1 Ответ

0 голосов
/ 08 октября 2018

Это почти наверняка то, что вам нужно создать самостоятельно, хотя ваш вариант использования не звучит так, как будто он требует целого бэкэнда Django.Несколько ручных запросов может быть достаточно.

Django официально поддерживает PostgreSQL, MySQL, SQLite и Oracle.Существуют сторонние бэкэнды для SAP SQL Anywhere, IBM DB2, Microsoft SQL Server, Firebird и ODBC.

Существует заброшенный проект , который пытался предоставитьбэкэнд OrientDB для Django, но он не обновлялся довольно долгое время и, вероятно, нуждается в большой любви:

Этот проект больше не поддерживается, не стесняйтесь его раскошелиться и сохранитьживы.

Независимо от того, как вы решите действовать, вам, вероятно, стоит взглянуть на библиотеку Python OrientDB .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...