python - Neomodel 密码查询缺少位置参数

标签 python cypher neomodel

我正在尝试在 Django View 中使用 .cypher 查询我的 Employee 模型。我在其他地方使用过这个查询,所以我知道这部分是有效的。

query_string = "MATCH (n)-[r:REPORTS_TO|BRANCH_OF|OVERSEEN_BY]->() RETURN n, r"

query_results = Employee.cypher(
    self = Employee, 
    query = query_string, 
    params = None)

***   ERROR _pre_action_check() 
      missing 1 required positional argument: 'action'

This error points to line 204 here:

https://github.com/neo4j-contrib/neomodel/blob/master/neomodel/core.py


我已经尝试过:

  • Action =密码
  • action='cypher'
  • self =neomodel
  • self=django-neomodel
  • self =密码

此外,如果我尝试遵循文档,在模型中定义 cypher 调用,然后在 View 中调用它......我仍然遇到相同的错误

https://neomodel.readthedocs.io/en/latest/cypher.html


更新: 完整跟踪在这里 /image/hPs3B.jpg

最佳答案

您使用三个位置参数调用此方法的事实似乎是错误的。

方法签名是:

def cypher(self, query, params=None):

-self 已由您的 Employee. 前缀提供。 (错误,见下文)

-query 应该作为位置 query_string 参数传入

-params=None 只是传递默认值,没有用。

您尝试过Employee.cypher(query_string)吗?

根据 Tezra 的说法,您需要一个 Employee 实例:

employee = Employee()

然后调用employee.cypher(query_string)

关于python - Neomodel 密码查询缺少位置参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51407043/

相关文章:

python - 切片 numpy 结构化一维​​数组以获取记录的一部分

python请求http响应500(可以在浏览器中访问网站)

neo4j - 如何将 Neo4j 中的所有属性返回到不同的列中

python - 在 Neomodel 中使用多个标签

python - 为什么我的 L1 正则化实现效果不佳?

python - 如何使用数值方法来近似求解积分

database - 如何在单个语句中减去 Neo4j 中具有不同条件的相同返回值

neo4j - Neo4j 中的 RETURN 子句是否可以通过 true 或 false 聚合 bool 值?

Flask 和 neomodel : ModelDefinitionMismatch

python - 如何通过节点id获取节点