在谷歌应用程序引擎上,如何摆脱“事务内仅允许祖先查询”?错误?
我在执行一项特定查询时遇到问题。它需要在事务中运行,而且确实如此,但是每当应用程序引擎执行我的查询时,我都会收到以下错误:
仅允许祖先查询 内部交易
您会看到我的查询确实有一个祖先。那么应用程序引擎真正抱怨的是什么?
q = db.Query(EventBase)
q.ancestor = db.Key.from_path(aggrRootKind, aggrRootKeyName)
q.filter('undone =','False')
q.order('-version')
qResult = q.fetch(1, 0)
I am having trouble with one specific query. It needs to run in a transaction, and it does, but whenever the app engine executes my query I get the following error:
Only ancestor queries are allowed
inside transactions
You'll see that my query DOES have an ancestor. So what is the app engine really complaining about?
q = db.Query(EventBase)
q.ancestor = db.Key.from_path(aggrRootKind, aggrRootKeyName)
q.filter('undone =','False')
q.order('-version')
qResult = q.fetch(1, 0)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这一行:
应该读作:
ancestor() 是一个方法,在第一个代码片段中,您将替换它,而不是调用它。
This line:
should read:
ancestor() is a method, and in the first snippet, you're replacing it, rather than calling it.