0

根据文档中所说的内容,可以使用以下内容:

@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 中的交易可以做什么和不能做什么?

4

1 回答 1

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()
于 2016-02-24T16:12:01.487 回答