无法在Model类列表中使用sorted()

时间:2010-07-14 17:59:53

标签: python google-app-engine

在数据存储区上运行查询后,我会在查询,合并和修剪结果时将结果复制到新列表中。当我完成后,我想对新列表进行排序,但我看到以下错误......

TypeError:'LiveRouteStatus'对象是不可取消的

LiveRouteStatus是我查询的Model类,虽然实际代码更复杂,但这里是我正在做的缩短版本...

class LiveRouteStatus(db.Model):
    dateAdded = db.DateTimeProperty(autho_now_add=True)
    stopID    = db.StringProperty()
    time      = db.IntegerProperty()

q = db.GqlQuery("select * from LiveRouteStatus where stopID = :1 order by dataeAdded desc limit 24", stopID)

route_results = []
for r in routes:
    if magic_test_works:
        route_results.append(r)

sorted(route_results, key=itemgetter('time')

我在这里搞砸了Python的一些基本元素吗?或者这是Model类的索引问题?

2 个答案:

答案 0 :(得分:3)

itemgetter('time')就像在说['time']

您想要attrgetter('time'),就像.time

答案 1 :(得分:0)

您正在查询LiveRouteStatus,您声明的类称为LiveVehicleStatus。 不确定这是不是这个原因!