我在 GAE 模型中有一个属性,它是 DATETIME 类型。当我尝试按此属性对查询结果进行排序时,会引发以下错误:
TypeError: issubclass() arg 1 must be a class
这是我的查询:
data_query = db.Query(docket).filter('last_update_date >', date).order('-last_update_date')
我在 GAE 模型中有一个属性,它是 DATETIME 类型。当我尝试按此属性对查询结果进行排序时,会引发以下错误:
TypeError: issubclass() arg 1 must be a class
这是我的查询:
data_query = db.Query(docket).filter('last_update_date >', date).order('-last_update_date')
db.Query
期望提供一个类作为其第一个参数(或model_class关键字参数)。
class Query (model_class=None, ...)
model_class
Model (or Expando) class representing the entity kind
to which the query applies.
当我将派生类(实体)的实例提供给. 尝试替换为类或.db.Model
db.Query
docket
docket.__class__
当db.Query.order
方法尝试测试model_class是否是db.Expando
. 由于它使用issubclass的内置 Python 函数,因此它要求它的参数是一个类。过滤之所以有效,是因为db.Query.filter
不会尝试确定您的模型是否扩展db.Expando
。