Как создать узел в 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 - это язык, который я знаю лучше всего, поэтому, пожалуйста, если вы отвечаете, пишите для полного новичка