Python GAE ndb按键筛选(id)

Python GAE ndb按键筛选(id),python,google-app-engine,google-cloud-datastore,app-engine-ndb,Python,Google App Engine,Google Cloud Datastore,App Engine Ndb,我想按键值筛选(如果可以,按Id) 开发者控制台提供使用键值搜索数据 我想在我的代码中执行如下操作: DataModel.query(DataModel.key > ndb.Key('DataModel', id_value)).order( DataModel.date, DataModel.times).fetch(2000) 这会引发错误 我的id_值是整数 我如何搜索和过滤以获得id高于id值的数据?按键上的不等式进

我想按键值筛选(如果可以,按Id)

开发者控制台提供使用键值搜索数据

我想在我的代码中执行如下操作:

DataModel.query(DataModel.key > ndb.Key('DataModel', id_value)).order(
                DataModel.date,
                DataModel.times).fetch(2000)
这会引发错误

我的id_值是整数


我如何搜索和过滤以获得id高于id值的数据?

按键上的不等式进行过滤是可以的,错误的是,不能将一件事上的不等式过滤与另一件事上的排序结合起来。在限制下引用:…:

组合过多的过滤器,对多个过滤器使用不等式 属性,或将不等式与 不同的属性目前都是不允许的


这三个限制中的最后一个是您遇到的问题。

通过键上的不等式进行过滤是可以的,错误的是,不能将一件事上的不等式过滤与另一件事上的排序结合起来。在限制下引用:…:

组合过多的过滤器,对多个过滤器使用不等式 属性,或将不等式与 不同的属性目前都是不允许的


这三个限制中的最后一个是您遇到的问题。

一个选项是从查询中获取所有结果,然后在程序中对它们进行排序(而不是在
.order()
子句中)

第二个选项是查询所有三个字段(),以减少结果数量,然后按上述方式对它们进行排序:

DataModel.query(DataModel.key > ndb.Key('DataModel', id_value),
            DataModel.date > some_date,
            DataModel.times > some_times)

第三个选项是用于处理大量数据。

一个选项是从查询中获取所有结果,然后在程序中对它们进行排序(而不是在
.order()
子句中)

第二个选项是查询所有三个字段(),以减少结果数量,然后按上述方式对它们进行排序:

DataModel.query(DataModel.key > ndb.Key('DataModel', id_value),
            DataModel.date > some_date,
            DataModel.times > some_times)

第三种选择是用于处理大量数据。

错误消息是什么?错误消息是什么?我不确定这是否属实;我正在尝试使用.filter(Entity.key>ndb.key('Entity',key\u id)),运行一个查询,并且得到了“为引用属性找到了不完整的key\u key\”,我不确定这是否是真的;我正在尝试使用.filter(Entity.key>ndb.key('Entity',key\u id)),运行一个查询,并得到“为引用属性找到的不完整的key\u key\u”,我很确定这实际上不起作用?请看我对@Alex Martelli帖子的评论,我相当确定这实际上不起作用?请参阅我对@Alex Martelli的帖子的评论