2010-11-21 6 views
6
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']) 

표시하지만 KEY_ID 속성이 title.key_idtest.pk .also 반환 u'agRibG9nchILEgxhc2lzYWlkX3Rlc3QYAQw'로 accesible하지 않습니다 URL에서 사용할 수있는 정수 정수식 기본 키를 google-appengine의 모델 객체에서 찾으십니까?

답변

4

시도해보십시오 :

yourkey = test.key().id() 

하고 다시 값을 얻을 :

Test.get_by_id(ids = yourkey) 
+0

이 ID를 사용하여 값을 다시 가져올 수 있습니까? –

0

그것은 모든 기록 이후 유효 솔루션입니다이 아이디() 최선이 있습니다 :

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

레코드는 id() 또는 name()을 가질 수 있지만 key()가 있어야합니다.

레코드가 모두 id() 인 경우에도 엔터티가 ApplicationId, NamespaceId, ParentModel, Model 및 ID 또는 키로 처리되므로 여전히 잘못되었습니다. PRIMARY 키는 모든 해당 필드입니다.

네임 스페이스를 사용하거나 상위를 사용하여 트랜잭션을 일관되게 유지하는 경우 동일한 id()를 가진 많은 엔티티를 가질 수 있습니다. 확실하지 않은 경우 id() 사용을 피하십시오.

관련 문제