【发布时间】:2009-10-03 18:05:44
【问题描述】:
我不知道如何通过 ReferenceProperty 的属性进行 GqlQuery 排序。
在这种情况下,我想获取所有座位,但按房间的 ID 排序
GqlQuery 引用不允许连接,那么在这种情况下您如何处理?
class Room(db.Model):
id = db.IntegerProperty()
dimension = db.StringProperty(multiline=True)
一个房间有很多座位,每个座位都有一个 id
class Seat(db.Model):
id = db.IntegerProperty()
roomId = db.ReferenceProperty(Room)
seats_query = GqlQuery("SELECT * FROM Seat ")
seats = seats_query.fetch(1000)
Alex 的观点是正确的,所以我决定不碰 GqlQuery,而是尝试使用 Django 模板,我找到了按 Room'id 对 Seat 进行排序的解决方案,而无需在 Seat 类中添加新字段。
如果有人感兴趣,我把代码放在这里;))干杯;))
{% regroup seats|dictsort:"roomId.id" by roomId.id as room_list %}
<ul>
{% for room in room_list %}
<li>Room: {{room.grouper}}
<ul>
{% for item in room.list %}
<li>Seat no: {{item.id}} </li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
【问题讨论】:
标签: python django google-app-engine