Neomodel密码查询缺少位置参数

时间:2018-07-18 16:37:12

标签: python cypher neomodel

我正在尝试在Django视图中使用.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'
  

此错误在此处指向第204行:

     

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


我尝试过:

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

此外,如果我尝试通过在模型中定义密码调用然后在视图中调用密码来遵循文档说明,我仍然会遇到相同的错误

  

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


更新: 完整的跟踪这里https://imgur.com/a/o3rQr

1 个答案:

答案 0 :(得分:3)

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

方法签名为:

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)