2010-02-12 69 views
1

父實體的關係在谷歌的應用引擎DOC關於這種說法的區別:在需要的時候進行交易對於之間的其他關係需要初學者的解釋爲使用與的ReferenceProperty

「只有使用實體組實體,請使用ReferenceProperty屬性和Key值,這些值可用於查詢中。「

有人可以舉一個例子來說說讓所有的玩家都是同一個團隊的成員。也可以說這支球隊的每一支球隊都不會改變,但球隊的特點,如制服,勝利,損失和薪水,會改變和影響每個球員......在這種情況下,這是否意味着有或沒有'交易'參與。

你將如何編寫一個查詢請求某個團隊的所有玩家?

回答

1

事務與數據的組織方式無關,它是特定的數據庫操作。在一個事務中,你可以做多個讀寫操作,整個事情成功或失敗。限制是所有受影響的實體必須在同一組中。如果你使用的是交易,那麼你會知道你是:查找團隊數據並不是一個交易。

如果您的玩家使用引用屬性來指定團隊,那麼您需要在GQL中以WHERE team=KEY('Team', <id>)<id>作爲團隊實體的ID進行查詢。或者,你可以這樣做:

for player in team.player_set: 
    # iterating over the players in the team... 

當玩家一種具有參考性質的那種團隊,團隊自動地獲得這一player_set收集(當然,實際上這是一個查詢),你可以迭代。它被稱爲「回參考」

+0

因此我們稱之爲「交易」,然後涉及某種寫作。如果你想爲某些團隊子集計劃一些屬性值的每日更新('交易'),並且你希望這個改變傳遞給相應的玩家........所以對於這種類型的事務,我不明白如何將Team實體作爲Player實體的父實體進行建模與僅將ReferenceProperty用於我們想要鏈接到其團隊成員的玩家屬性顯着不同? – newguy 2010-02-13 04:18:08