在谷歌应用程序引擎上,我如何摆脱'只有祖先查询允许内部交易'错误?

时间:2010-07-22 04:41:34

标签: python google-app-engine pydev

我遇到一个特定查询的问题。它需要在事务中运行,并且确实如此,但每当应用程序引擎执行我的查询时,我都会收到以下错误:

  

只允许祖先查询   内幕交易

你会看到我的查询有一个祖先。那么app引擎真正抱怨的是什么?

    q = db.Query(EventBase)
    q.ancestor = db.Key.from_path(aggrRootKind, aggrRootKeyName)
    q.filter('undone =','False')
    q.order('-version')
    qResult = q.fetch(1, 0)

1 个答案:

答案 0 :(得分:5)

这一行:

q.ancestor = db.Key.from_path(aggrRootKind, aggrRootKeyName)

应为:

q.ancestor(db.Key.from_path(aggrRootKind, aggrRootKeyName))

ancestor()是一种方法,在第一个片段中,你要替换它,而不是调用它。