我有以下型号:
class Station(db.Model):
code = db.StringProperty(required=True)
name = db.StringProperty(required=True)
class Schedule(db.Model):
tripCode = db.StringProperty(required=True)
station = db.ReferenceProperty(Station, required=True)
arrivalTime = db.TimeProperty(required=True)
departureTime = db.TimeProperty(required=True)
如何以编程方式按订单名称订购所有时间表?
类似于Schedule.all()。order('station.name')
答案 0 :(得分:0)
您将对模型进行去标准化或在内存中对结果进行排序:
Schedule.all().fetch(100).sort(key=lambda s: s.station.name)
(代码未经测试)
答案 1 :(得分:0)
使用排序后,我认为您需要获取所有实体:
Schedule.all().fetch (100).sort(key=lambda s: s.station.name)
也许你也可以use collection name。 但我认为jbochi答案更好:)
[x.schedule_set.get () for x in Station.all ().order ('name')]