根据文档中的内容,可以使用以下内容:
@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中的事务方面可以做什么和不能做什么?
答案 0 :(得分:0)
from neomodel import db
from demo import A, B
def build_graph():
db.begin()
try:
new_a = A(a_unique_id="AKLKSAJDAD").save()
new_b = B(b_unique_id="asdawdaw").save()
new_b.Hates.connect(new_a)
except:
return -1
for rel in new_b.Hates.all():
print(rel)
db.commit()