谷歌appengine数据存储的主键
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类型的对象上显示一个打印
Test(key_id=1, title='ashu_saved', tags=['db'])
但key_id属性是无法通过title.key_id
.also test.pk
返回u'agRibG9nchILEgxhc2lzYWlkX3Rlc3QYAQw'
有没有一种方法可以从google-appengine中的模型对象中获取我可以在urls中使用的漂亮的整数主键?
尝试:
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来寻址的。 主键是所有的字段。
这意味着如果您使用命名空间或使用父级来保持事务的一致性,那么您可以拥有多个具有相同id()的实体 - 如果您对此不确定,请尝试避免使用id()。
链接地址: http://www.djcxy.com/p/57821.html