Как создать узел в neo4j с помощью Django

Я работаю над веб-приложением. В качестве бэкенда я выбрал Django, а в качестве базы данных я хотел бы использовать графовую базу данных, поэтому я выбрал neo4j.

Существует библиотека python neomodel для работы с neo4j и специальная библиотека django_neomodel для работы neomodel с Django.

Я могу использовать Django с neo4j для получения данных из узла в базе данных, однако я не могу заставить его создать узел в базе данных.

Вот часть моего settings.py файла:

INSTALLED_APPS = [
    ...
    'django_neomodel',
    'neomodel',
    'corsheaders',
    'rest_framework',
    'rest_framework.authtoken',
    'rest_framework_simplejwt',
    'create',
]

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework_simplejwt.authentication.JWTAuthentication',
        'rest_framework.authentication.TokenAuthentication',
    ],
}

NEOMODEL_NEO4J_BOLT_URL = 'bolt://neo4j:password@localhost:7687'

и здесь views.py из create

class RegisterView(View):
    """
    This view handles POST requests to create a new user in the database.
    """

    def post(self, request):
        new_node = myNode(XXX=request.POST['XXX'], YYY=request.POST['YYY'], ZZZ=request.POST['ZZZ'])
        new_nodesave()

Здесь myNode класс:

from neomodel import (StructuredNode,
                      StringProperty,
                      UniqueIdProperty)
from .event import Event
class myNode(StructuredNode):
    
    # Properties
    uid = UniqueIdProperty()
    XXX = StringProperty(required=True, unique_index=True)
    YYY = StringProperty(required=True)
    ZZZ = StringProperty(required=True)

Ошибка, которую я получаю:

django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.

Я спросил у chatGPT и github copilot и получил ответ, что я могу просто установить фиктивный ENGINE в настройках, как это

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.dummy'
  }
}

Но это не помогает.

Есть ли у кого-нибудь подсказка? Я искал документацию, но все, что я могу найти, это эти учебники по использованию базы данных Panama papers с neo4j и Django ( как здесь, но там они также просто получают доступ к базе данных, но никогда не создают новые узлы, отношения или изменяют их каким-либо образом.

Возможно ли это вообще? Или мне нужно создать движок самому?

Я использую djangorestframework 3.15.1, neomodel 5.3.1 и neo4j 4.4.34

Я новичок в разработке приложений. Я только начал и выбрал Django только потому, что python - это язык, который я знаю лучше всего, поэтому, пожалуйста, если вы отвечаете, пишите для полного новичка

Вернуться на верх