根据文档中所说的内容,可以使用以下内容:
@db.transaction
def update_user_name(uid, name):
user = Person.nodes.filter(uid=uid)[0]
user.name = name
user.save()
但是更复杂的事情怎么样,比如创建一个节点(像这样),然后创建另一个节点,在它们之间创建一个关系,并从同一个事务中更远的某个节点中的一个节点读取该关系。我的意思是这个库可以在没有提交的情况下做什么?我的意思是通常情况下,使用普通的 py2neo 我将无法执行此操作,因为使用CreateStatement创建的任何节点都未绑定,这是其事务 API 的核心部分。只有在事务提交或处理后才能查询,但我不确定后者。Neomodel 应该能够做更多的事情,因为它以某种方式包装这些节点并缓存东西 - 但我不能确定 - 事务的描述非常简短。
有很多代码需要重新实现,所以我需要确定。你有什么经验?在 py2neo/neomodel 中的交易可以做什么和不能做什么?