2012-05-06 72 views
0

我有兩種這樣的:如何排序db.ReferenceProperty屬性?

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查詢?

謝謝!

回答

1

試試這個

a.Bs.order("date") 

或(按降序排列):

a.Bs.order("-date") 
+0

我嘗試這一點,但它不工作。 – hakunami

+0

@stevenyang不工作怎麼樣?錯誤還是沒有排序? –

+0

它不排序a。 :( – hakunami

0

吉文的建議是簡潔和正確的,但我認爲這將有助於增加一些更多的細節。

使用相同的兩個類的例子如問題,我創建了以下類渲染我的網頁(GAE,蟒蛇,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)