BadArgumentError:带游标的_MultiQuery在ndb中需要__key__顺序

Cho*_*eat 8 google-app-engine google-cloud-datastore

我无法理解这个错误意味着什么,显然,没有人在互联网上得到同样的错误

BadArgumentError:带游标的_MultiQuery需要__key__订购

这发生在这里:

return SocialNotification.query().order(-SocialNotification.date).filter(SocialNotification.source_key.IN(nodes_list)).fetch_page(10)
Run Code Online (Sandbox Code Playgroud)

该属性source_key显然是一个键,nodes_list是以前检索的实体键列表.

我需要的是找到所有SocialNotifications具有source_key与列表中的一个键匹配的字段的字段.

Gui*_*sum 17

错误消息试图告诉您涉及IN和游标的查询必须按顺序排序__key__(这是实体密钥的内部名称).(这是必需的,以便结果可以正确合并并使其唯一.)在这种情况下,您必须用您的.order()呼叫替换.order(SocialNotification._key).