Вкратце: как я могу настроить загрузчик для вставки данных в 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
, фрукты загружаются, но естьмного дубликатов.
Я пытаюсь связать человека с фруктами, без дубликатов фруктов - возможно ли это через оптовый загрузчик?