我正在尝试在 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 中调用它......我仍然遇到相同的错误
更新: 完整跟踪在这里 /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/