如何解决neo4j django-neomodel 配置过程中的错误
我正在尝试使用 Neo4j 数据库在 Django 中做一个简单的项目。我已经安装了一个 django-neomodel
库,设置如下:
import os
from neomodel import config
db_username = os.environ.get('NEO4J_USERNAME')
db_password = os.environ.get('NEO4J_PASSWORD')
config.DATABASE_URL = f'bolt://{db_username}:{db_password}@localhost:7687'
创建模型:
class Task(Structurednode):
id = UniqueIdproperty()
title = Stringproperty()
将 'django_neomodel'
添加到 INSTALLED_APPS
,删除了默认数据库配置,当我尝试进入该网站时,它会引发错误:ImproperlyConfigured at / settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.
。
这是唯一的错误,因为在运行 python manage.py install_labels
命令后它会引发:ServiceUnavailable("Failed to establish connection to {!r} (reason {})".format(resolved_address,error)) neo4j.exceptions.ServiceUnavailable: Failed to establish connection to IPv6Address(('::1',7687,0)) (reason [Errno 99] Cannot assign requested address)
。
我很确定数据库工作正常,因为如您所见,我可以访问它。 screenshot
docker-compose:
version: "3.9"
services:
api:
container_name: mm_backend
build:
context: ./
dockerfile: Dockerfile.dev
command: pipenv run python manage.py runserver 0.0.0.0:8000
volumes:
- ./:/usr/src/mm_backend
ports:
- 8000:8000
env_file: .env
depends_on:
- db
db:
container_name: mm_db
image: neo4j:4.1
restart: unless-stopped
ports:
- "7474:7474"
- "7687:7687"
volumes:
- ./db/data:/data
- ./db/logs:/logs
解决方法
好吧,经过一番研究,我找到了这篇帖子 Docker-compose: db connection from web container to neo4j container using bolt,问题已经解决。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。