你可以绝对继续使用neo4j-rest-client或py2neo,而不使用neo4django.以同样的方式,您可以随时使用任何其他数据库驱动程序使用Django,任何REST客户端等.
你会失去什么?模型DSL,内置查询(例如,Person.objects.filter(name =“Mohamed”)),内置索引,以及后面的Lucene,Gremlin和Cypher.有些事情会更容易 – 比如在节点上设置任意属性 – 但是您需要了解有关Neo4j如何工作的更多信息.
你也会失去Django提供的与neo4django一起使用的一些快捷方式,比如get_object_or_404()和一些与查询集一起使用的基于类的视图.
你会得到什么? DB上的绝对功率,更容易调整DB性能.尽管neo4django并不像Python领域中的一些传统ORM那样好,但权力与提供的轻松之间的权衡是相似的.
也就是说,两者可以协同工作 – 您可以随时从neo4django下载到底层REST客户端节点和关系.只需使用model_instance.node从模型中获取基础neo4j-rest-client节点对象,并从neo4django.db导入连接获取包装的neo4j-rest-client GraphDatabase.
关于你是否遗漏了一些东西:neo4django是为了重用强大的开发者界面而编写的 – Django ORM-所以它应该感觉类似于为Postgres编写模型.我过去写了一个bit about that odd feeling.我认为问题的一部分可能是lib没有强调图形术语新图形感兴趣的开发人员期望 – 如遍历和模式匹配 – 而是在Django查询服装中使用这些技术.
我喜欢你的想法,或者知道你想要图书馆做的任何事情,它没有做:)祝你好运!