gpt4 book ai didi

python - 使用 Django 查询 Neo4j 数据库

转载 作者:太空狗 更新时间:2023-10-29 20:31:03 26 4
gpt4 key购买 nike

我事先道歉,因为 Django 的思维方式对我来说仍然很陌生。我正在尝试生成一个非常简单的页面,该页面仅列出使用 Neo4j 和 Django (1.9.7) 进行的简单密码查询的所有结果,并且我正在使用 Python Neo4j 驱动程序从 Django 访问数据库。然而,我陷入了困境,已经到了我只是盲目尝试的地步,因此我想要一些关于我试图实现的基础应该如何看待的指示/建议。

模型.py

from django.views.generic.listimport ListView
from neo4j.v1 import GraphDatabase, basic_auth
from django.db import models

# Connect to DB
driver=GraphDatabase.driver("foo1",auth=basic_auth("foo2","foo3"))
session=driver.session()

class Stuff(models.Model):
query = "MATCH (t:Time) return t"
results=session.run(query)
# Sanity check -> This just shows that the database and query both work
for foo in results:
print foo
break
def __str__(self):
return results

View .py

from django.views.generic.list import ListView
from .models import Stuff

# I assume that I should be using a ListView here (as I was trying to get a queryset or similar from my models).
class IndexView(ListView):
template_name = 'index.html'

def get_queryset(self):
fooList = []
for record in Stuff.objects.get():
fooList.append(record)
return fooList

index.html(未测试,因为我还没有设法让它“显示”)

{% block body %}

{% if fooList %}
<h1>Woot!</h1>
{% endif %}

{% endblock %}

上面的位显然不起作用并提示 Stuff 没有任何 objects,但我完全不知道如何继续(因为我一直无法找到关于在 Django 中使用此驱动程序的任何好的示例/文档)。

最佳答案

Documentation session object in neo4j python driver run method state that

run(statement, parameters=None, **kwparameters)

它返回记录的 StatementResult 对象 here

因此根据文档,不存在 objects 属性,因此 .objects.get() 方法不存在。

在返回的 StatementResult 中访问记录的正确方法显示在 example 中如下:

for record in result:
print("%s %s" % (record["title"], record["name"]))

所以在你的情况下你可能想要做:

for record in Stuff:
fooList.append(record)

关于python - 使用 Django 查询 Neo4j 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46490638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com