2012-10-01 133 views
1

我需要從NDB一鍵獲得一個實例的鍵創建一個漂亮的URL。該鍵可能有一個父鍵,但我不想將任何父鍵傳遞給該URL,因爲我想要一個漂亮的URL。 我不想將整個密鑰字符串傳遞給url。 這可能嗎?與祖先

回答

2

這是可能的。但是父代碼在你的代碼中是靜態的。

當你得到的數字ID,你只是重建的關鍵。

id = long(inputId) 
key = ndb.Key('Somekind', 'somevalue', 'kindOfInstance', id) 

instance = key.get() # get instance 

'Somekind'是父類的名稱。 'somevalue'是父類的字符串標識。 'kindOfInstance'是實例類的名稱。你可以使用不帶引號的課程。

+2

你可能也想看看這個:https://developers.google.com/appengine/docs/python/datastore/functions#allocate_ids這樣你就可以保留使用「allocate_ids一些「好」 IDS(模型,計數) 「 –

+0

父母身份不明。這裏的所有信息都是實例本身和它的類的關鍵的id。 –

+0

@Trollhammaren您可以使用任何父母身份或任何字符串。對於一個實體組,它必須是相同的。但保羅的變種更好。 –