使用Django和Neo4J数据库创建API的明确指南,第1部分
#初学者 #python #django #neomodel

在这篇文章中,我们将在图形数据库上工作,并设置构建API的所有必要连接。顾名思义,我们将在项目中使用Neo4J数据库。这个项目的整个架构都是这样的,这是对这个主题的(唯一)link提供的:

Architecture

今天,我们将拆除此图的最右侧部分-Neo4J数据库和模型。基本上,我们正在使用Django框架来提供API URL以及每个URL将使用的内容。步骤如下:

  1. 下载并安装neo4j
  2. 下载cypher-shell并更新凭据
  3. 设置远程数据库连接
  4. 与django的设置数据库连接
  5. 操纵OGM
  6. 迁移数据库

1.下载并安装neo4j

访问neo4j的官方网站并下载桌面应用程序-here,然后注册一个帐户。下载时将为您提供一个激活键,在安装过程中将其复制粘贴。

2.下载cypher-shell并更新凭据

这是一个可选步骤。 Cypher Shell为您提供一个控制台,您可以像Python Shell一样编写CQL或Cypher查询语言。您可以从此处下载 - Official Download Link

使用密码 neo4j ,免费版本中的默认图形数据库是 neo4j 。您可以使用以下命令更改密码:

ALTER USER neo4j SET PASSWORD '<new-password>';

标记此新密码,因为它需要与数据库建立连接。

3.设置远程数据库连接

  • 转到项目
    1

  • 创建一个名称:
    的新项目 2

  • 有一个看起来像这样的项目的仪表板:
    3

  • 单击添加,然后标记的菜单项:
    4

  • 给出一个DBMS名称并设置图片中所示格式的URL,然后单击下一步
    5

  • 提供您的数据库用户名和密码,然后单击保存
    6

  • 单击连接以设置与数据库的连接:
    7

  • 单击打开在浏览器中查看:
    8

  • 在浏览器中,单击绿色突出显示的DB 图标:
    9

  • 选择neo4j,现在将显示默认的电影表。

10

4.与Django的设置数据库连接

首先,创建一个Django项目,然后在API的项目内创建一个应用程序。

django-admin startproject mysite
cd mysite/
python manage.py startapp yourapp

现在转到您的settings.py,然后从neomodel导入配置。使用Django设置我们的数据库是必需的。您的控制台应该看起来像这样:

django1

转到您的设置和各个地方的以下几行:

from neomodel import config

config.DATABASE_URL = 'bolt://username:password@localhost:7687'

# you can either use bolt or neo4j for the connection type but bolt is preferable

用您的用户名和密码替换。

5.操纵OGM

摘自Django的官方文档:“创建数据模型后,Django会自动为您提供数据库abstraction API,使您可以创建,检索,更新,更新和删除对象。” - 这是ORM或对象相关映射层。用更简单的术语将其分解,Django模型就像您数据库的镜子。它使用自己的抽象层对数据库表进行建模。您的API请求通过引擎盖下的这个抽象层传递。

当我们使用图形数据库时,我们有节点而不是表和边缘来捕获关系。 Neo4J通过neo4j-ogm提供OGM或对象图映射库。要使用此信息,请首先导入字段类型并遵循以下代码:


from neomodel import StructuredNode, StringProperty, IntegerProperty,UniqueIdProperty, RelationshipTo, BooleanProperty, EmailProperty, DateTimeProperty, DateProperty, config

class NeoUser(StructuredNode):
    uid = UniqueIdProperty()
    username = StringProperty()
    email = EmailProperty(unique_index=True)
    password = StringProperty()

class NeoPosts(StructuredNode):
    ....

要设计这种关系,您必须像以下内容一样写(请参阅上一个博客文章中的ERD):

# Relations :
    post = RelationshipTo(NeoPosts, 'CREATES')
    followers = RelationshipTo('NeoUser','FOLLOWERS')

6.迁移数据库

对于Django模型,您应该运行以下命令。

python manage.py makemigrations
python manage.py migrate

但是,由于我们在此模型中制作节点,因此我们需要使用以下命令:

python manage.py install_labels

现在您可以查看创建的模型和节点,如以下图像:

11

就是这篇文章。在下一篇文章中,我们将学会为建立的模型构建API。我将很快发布下一部分。高度赞赏您的反馈。