django neomodel的保存功能不起作用

brc7rcf0  于 2023-08-08  发布在  Go
关注(0)|答案(1)|浏览(103)

我有一个neomodel模型:

from neomodel import StructuredNode, StringProperty, UniqueIdProperty, db

db.set_connection('bolt://neo4j:password@masir_neo4j:7687')

class City(StructuredNode):
    id = UniqueIdProperty()
    name = StringProperty(index=True, default="city")

字符串
我已经通过这个命令将标签安装到neo4j数据库中,这在neomodel的文档中有描述:

neomodel_install_labels manage.py app.models --db bolt://neo4j:password@masir_neo4j:7687


运行此命令后,City节点被添加到neo4j数据库,然后我尝试通过Python shell向数据库添加一些数据,结果如下:


的数据
但是,正如您所看到的,城市节点中没有任何内容。
然后我尝试通过cypher_query保存数据,它工作了:



为什么neomodel的保存功能不起作用?

ulmd4ohb

ulmd4ohb1#

根据https://neomodel.readthedocs.io/en/latest/properties.html

  • neo4j中的所有节点都有一个内部id(可以通过neomodel中的'id'属性访问),但是这些不应该被应用程序使用。Neomodel提供了UniqueIdProperty来为节点生成唯一标识符(具有唯一索引)*

所以你不能有一个名为id的属性。您需要使用不同的属性名,例如uid(除id以外的任何名称都可以)

相关问题