neomodel无法匹配记录

2024-05-20 01:32:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python3.8上使用的是neomodel==4.0.1

我有integerproperty code的structurednode名称存储。当我使用get方法搜索存储时,它无法找到任何匹配项

StoreNodeDoesNotExist         
----> 1 StoreNode.nodes.get(code='23416')

app/.env/lib/python3.8/site-packages/neomodel/match.py in get(self, lazy, **kwargs)
    605             raise MultipleNodesReturned(repr(kwargs))
    606         elif not result:
--> 607             raise self.source_class.DoesNotExist(repr(kwargs))
    608         else:
    609             return result[0]

StoreNodeDoesNotExist: (StoreNodeDoesNotExist(...), "{'code': '23416'}")

StoreNodeDoesNotExist
----> 1 StoreNode.nodes.get(code=23416)

app/.env/lib/python3.8/site-packages/neomodel/match.py in get(self, lazy, **kwargs)
    605             raise MultipleNodesReturned(repr(kwargs))
    606         elif not result:
--> 607             raise self.source_class.DoesNotExist(repr(kwargs))
    608         else:
    609             return result[0]

StoreNodeDoesNotExist: (StoreNodeDoesNotExist(...), "{'code': 23416}")

另一方面,如果我运行密码,它将匹配

In [9]: results, columns = db.cypher_query("MATCH (n:StoreNode{code:'23416'}) return n;",)

In [10]: [StoreNode.inflate(row[0]) for row in results]
Out[10]: [<StoreNode: {'created_on': datetime.datetime(2020, 11, 17, 7, 31, 49, 262277, tzinfo=<UTC>), 'modified_on': None, 'delivery_status': None, 'name': 'Ll Shop (23416) ', 'code': 23416, 'id': 145798}>]

有人能解释一下原因以及如何纠正我以前的neomodel查询吗


Tags: inselfenvappgetreturncoderesult
2条回答

将属性code设置为整数解决了问题

它之所以会引发,是因为在大容量插入期间,我将code作为整数属性,而在字符串中设置了它的值。 我需要添加一个csv上传代码模式检查

必须将code作为整数而不是字符串传递:

StoreNode.nodes.get(code=23416)

相关问题 更多 >