簡體   English   中英

谷歌appengine數據存儲區中的主鍵

[英]primary key in google appengine datastore

    from google.appengine.ext import db
    from datetime import date    
    class Test(db.Model):
        title=db.StringProperty(required=True)
        tags=db.StringListProperty(required=True)

測試類型的對象顯示打印

Test(key_id=1, title='ashu_saved', tags=['db'])

但是title.key_id不能訪問key_id屬性。否則test.pk返回u'agRibG9nchILEgxhc2lzYWlkX3Rlc3QYAQw'有沒有辦法從google-appengine中的模型對象中獲取可以在網址中使用的漂亮的整數主鍵?

試試:

yourkey = test.key().id()

並獲得你的價值:

Test.get_by_id(ids = yourkey)

這是無效的解決方案,因為所有記錄都有id(),最好是這樣:

key = entity.key()
Model.get(key)

記錄可以有id()或name()但必須有key()。

即使你的所有記錄都有id(),它仍然是錯誤的,因為實體由ApplicationId,NamespaceId,ParentModel,Model以及id或key來尋址。 PRIMARY鍵就是所有字段。

這意味着如果您使用命名空間或使用父級來保持事務一致,您可以擁有許多具有相同id()的實體 - 如果您不確定,請盡量避免使用id()。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM