Sno*_*man 4 python google-app-engine
我正在尝试执行以下查询:
query = Comment.query(ancestor = userKey, ndb.OR(Comment.modifiedDate > lastSyncDate, Comment.activityDate > lastSyncDate))
Run Code Online (Sandbox Code Playgroud)
1等号(=)是文档说我们应该拥有它的方式,但是当我只有1个等号(构建错误)时,我的应用程序不会运行.如果我使用两个等号ancestor == userKey
,那么应用程序运行,但我得到了NameError: global name 'ancestor' is not defined
.是什么赋予了?
我还尝试了此查询的另一个变体,但同样的问题出现了:
query = Comment.query(ndb.AND(ancestor == userKey, ndb.OR(Comment.modifiedDate > lastSyncDate, Comment.activityDate > lastSyncDate)))
Run Code Online (Sandbox Code Playgroud)
您需要在方法位置参数之后放置ancestor
关键字:
query = Comment.query(
ndb.OR(Comment.modifiedDate > lastSyncDate, Comment.activityDate > lastSyncDate),
ancestor=userKey)
Run Code Online (Sandbox Code Playgroud)
或者,使用filters
关键字explicit,或使用.filter()
方法:
query = Comment.query(
ancestor=userKey,
filters=ndb.OR(Comment.modifiedDate > lastSyncDate, Comment.activityDate > lastSyncDate))
Run Code Online (Sandbox Code Playgroud)
要么
query = Comment.query(ancestor=userKey).filter(ndb.OR(Comment.modifiedDate > lastSyncDate, Comment.activityDate > lastSyncDate))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1528 次 |
最近记录: |