0

파이썬, 앱 엔진 및 데이터 저장소에 처음으로 사용한다고 말하면서 분명히 분명한 점을 알려주십시오.BadValueError : 자식 엔터티를 생성 할 때 예상되는 문자열

내가 구글에서 예 방명록 응용 프로그램에서 같은 종류의 같은 방식의 조상 관계 데이터 저장소에 일부 데이터를 설정하기 위해 노력하고있어 : 실험보고로

class Guestbook(webapp2.RequestHandler): 
    def post(self): 
    greeting = Greeting(parent=guestbook_key) 

가이 코드를 생성 내가 얻을 수 있다면 그것은 작동합니다 : 나는 기본적으로 같은 일을 할 노력하고있어 것처럼

class Subscriber(ndb.Model): 
    user_nickname = ndb.StringProperty() 
    user_id = ndb.StringProperty() 

class Music(ndb.Model): 
    level = ndb.StringProperty() # top or sub 
    parent = ndb.StringProperty() # only if sub 
    title = ndb.StringProperty() 

class SetupHandler(webapp2.RequestHandler): 
    def get(self): 
     user = users.get_current_user() 
     subscriber = Subscriber(id=user.user_id()) 
     subscriber.user_id = user.user_id() 
     subscriber.user_nickname = user.nickname() 

     haydn = Music(parent=subscriber.key) 
     haydn.level = "top" 
     haydn.title = "Haydn Trumpet Concerto" 
     haydn.put() 

이 날 것으로 보인다 ..하지만 난이 오류를 얻을 :

File "... Application\datastoreexplore\main.py", line 41, in get haydn = Music(parent=subscriber.key) BadValueError: Expected string, got Key('Subscriber', '12169615523634875051')

저는 여러 시간 동안 문서를 읽고 stackoverflow 및 기타 위치를 검색했습니다. 나는 혼란 스럽다. 내가 도대체 ​​뭘 잘못하고있는 겁니까??

답변

2

문제는 부모를 StringProperty로 정의했지만 anancestor가있는 엔티티를 만들려면 올바른 생성자 인수 인 키를 전달하는 것입니다. parent라는 속성은 없어야합니다.

+0

감사합니다. 나는 그것이 명백한 무엇인가 명백하게 될 것이다라는 것을 알고 있었다. 그러나 나는 단지 그것을 볼 수 없었다!! –

관련 문제