2011-02-26 2 views
1

appcfg.py를 사용하여 데이터 스토어의 엔터티를 업데이트하고 있습니다.appcfg.py를 사용하여 데이터 저장소 엔터티를 업데이트하면 기본 키의 이름이 변경됩니다.

Name,Type 
Jim,2 
Bob,4 

내가 다음 데이터 저장소에보고 이들 엔티티의 기본 키 필드의 형식은 "ID = #"의 참고 : 나는 CSV를 업로드 할 수 있습니다.

Name,Type,id 
Jim,2,10001 
Bob,4,10002 

내가 유형 필드를 수정하고 다시 업로드 : 나는 다음은로 내려 오는, appcfg.py 사용하여이 데이터 저장소 유형을 다운로드합니다. 결과는 이제 기본 키의 형식이 "name = #"인 중복 항목 집합입니다. 내 config.yaml 통해 찾고,이 키에 대한 관련 항목은 다음과 같습니다

property_map: 
    - property: __key__ 
     external_name: id 
     export_transform: transform.key_id_or_name_as_string 
단순히 기존의 데이터 저장소 개체를 업데이트 할

, 어떻게 이런 일이 어떻게해야합니까 ?

답변

1

시도는 :

- property: __key__ 
    external_name: key 
    export_transform: transform.key_id_or_name_as_string 
    import_transform: transform.create_foreign_key('YourKind', key_is_id=True) 

http://groups.google.com/group/google-appengine/browse_thread/thread/3f211d42cf544c1a/4659a30b9380ab8a?lnk=gst&q=key_id_or_name_as_string#4659a30b9380ab8a

+1

이 솔루션이었다. 그러나 데이터베이스에 아직없는 데이터 집합을 가져올 때 키가 자동으로 만들어 지도록 가져 오기 변환을 주석 처리해야합니다. –

관련 문제