0

我有两种这样的:

class A(db.Model):
    propertyA = db.XxxProperty(required=True)

class B(db.Model):
    reference = db.ReferenceProperty(A,collection_name="Bs",required=True)
    date = db.DateTimeProperty(auto_now_add=True)

现在我想让 A.Bs 有订单,你知道,意思是使用 B.date 来订购 A.Bs。我怎样才能做到这一点?我应该写什么 GQL 查询?

谢谢!

4

2 回答 2

1

尝试这个

a.Bs.order("date")

或(降序):

a.Bs.order("-date")
于 2012-05-06T06:18:55.467 回答
0

Shay 的建议简洁而正确,但我认为添加更多细节会有所帮助。

使用与问题中相同的两个类示例,我创建了以下类来呈现我的页面(GAE、python、jinja2)

class MainPage(Handler):
    def get(self):
        a_id = '1001'  # magically get id of target entity a somehow
        # get key using a_id, then retrieve entity using that
        a = db.get(db.Key.from_path('A', a_id, parent=reg_key()))
        # look up the collection and assign it to b
        b = a.Bs
        # sort items in collection in reverse
        b.order('-created')
        # pass b to the template to get rendered (I use a custom method in my Handler)
        self.render('main.html', b = b)
于 2012-12-15T21:04:55.293 回答