1

ローカルで効率的に操作できるように、App Engine データをダウンロードしたいと考えています (それに基づいていくつかの PDF を生成しています)。ReferenceProperty の列が、キーや ID だけでなく、参照モデルの特定のプロパティによって設定されるように定義するにはどうすればよいですか?

ここに私のモデルクラスがあります:

クラス部門(db.Model):
   名前 = db.StringProperty()

クラス ユーザー (db.Model):
   userKey = db.StringProperty (必須 = True)
   シークレット = db.StringProperty()
   dept = db.ReferenceProperty(部門、必須=True)

ただし、bulkloader.yaml に property_map を次のように記述しましたが、

- 種類: ユーザー
  コネクタ: csv
  connector_options:
  プロパティマップ:
    - プロパティ: __key__
      external_name: キー
      export_transform: transform.key_id_or_name_as_string

    - プロパティ: dept
      external_name: 部門
      import_transform: transform.create_foreign_key('Department')
      export_transform: transform.key_id_or_name_as_string

    - プロパティ: シークレット
      external_name: シークレット

    - プロパティ: userKey
      external_name: ユーザーキー

私はいつもCSVの部門キーで終わります

例えば

   部門秘密鍵
1184017 mySecret マイキー

部門モデルの「名前」プロパティによって部門列が入力されるように定義するにはどうすればよいですか?

例えば

   部門秘密鍵
myDept mySecret myKey

ありがとう、ポール

4

1 に答える 1

1

ファイルuploadutil.pyを作成し、その中に次のメソッドを追加します。

def prop_converter(dept):
  # load the department then return the property you want
  return dept.name

次に、これをbulkloader.yamlに追加します。

uploadutilのインポートを追加します。

import: uploadutil

そして、プロパティを追加します。

- property: dept
    external_name: dept
    import_transform: transform.create_foreign_key('Department')
    export_transform: uploadutil.prop_converter

したがって、上記のメソッドはエクスポート時に呼び出されます。

于 2010-12-21T22:49:47.980 に答える