2012-05-09 5 views
0

私は、通常、デフォルトの親キー(親は実際のモデルではありません)を使用してインスタンスを作成する単純なモデルを持っています。今私はGAEの一括アップロード方法を使用していくつかのオブジェクトを追加したい一括アップロードのオブジェクトの先祖/親

class AddSimple(webapp2.RequestHandler): 
    def post(self): 
     simple = Simple(parent=simple_parent_key()) 
     simple.name = self.request.get('name') 

GAE tutorial

def simple_parent_key(): 
    return db.Key.from_path('simple', 'pathsimple') 

class Simple(db.Model): 
    """Basic simple model""" 
    name = db.StringProperty() 

で説明したようにそれは私が、通常、このようなPOSTリクエストでオブジェクトを作成するのと同じアプローチです。問題は、一括アップロードの親/祖先キーを指定する方法が見つかりませんでした。オブジェクトは親なしで作成され、親キーを使用するすべてのクエリは新しいオブジェクトを返しません。したがって、一貫性を破る。

バルクアップロードファイルで親キーを指定する方法はありますか?ここで

がbulkloader.yamlファイルの一部です:

transformers: 
- kind: Simple 
    connector: csv 
    property_map: 
    - property: name 
     external_name: name 

アップロードが働いているが、私が欲しいものである任意の親キーを持っていません。

ヒントは歓迎されます。

答えて

0

親を持つキーを作成するにはcreate_deep_keyを使用してください。transform.create_deep_keyそれを使うのはややこしいことです。 ...

 - property: __key__ 
     external_name: key 
     import_transform: transform.create_deep_key(('parentKind', 'parentKeyName'), 
                ('entityKind', transform.CURRENT_PROPERTY)) 

はそれが役に立てば幸い:私は正常に

はここbulkloader.yamlでプロパティキーの例です代わりにCSV形式のXMLを使用して、親キーを作成しています

関連する問題