つまり、参照付きの2つのモデルにデータを挿入するようにバルクローダーを構成するにはどうすればよいですか?
私には人と果物のクラスがあり、人は果物にリンクしています:
class Fruit(db.Model):
name = db.StringProperty()
class Person(db.Model):
name = db.StringProperty()
customer = db.ReferenceProperty(Fruit)
そして、このCSVデータをアップロードしたいと思います。
Name,Fruit
Bob,Banana
Joe,Apple
Tim,Banana
ドキュメントのようにcreate_foreign_keyを使用してみました:
transformers:
- kind: fruit
connector: csv
property_map:
- property: fruit
external_name: Fruit
- kind: person
connector: csv
connector_options:
encoding: utf-8
columns: from_header
property_map:
- property: title
external_name: Name
- property: fruit
external_name: Fruit
import_transform: transform.create_foreign_key('fruit')
コマンドを実行すると:
appcfg.py upload_data --config_file=bulkloader.yaml --filename=food.csv --kind=person .
人物がアップロードされ、果物の外部キーがありますが、彼らが指す果物のエンティティは存在しません。
試し--kind=fruit
てみると果物がアップロードされていますが、重複がたくさんあります。
私は人を果物にリンクしようとしていますが、果物は重複していません-これはバルクローダーを介して可能ですか?