[英]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.