- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
简而言之:如何配置 bulkloader 以将数据插入到 2 个带有引用的模型中?
我有一个 person 和 fruit 类,person 链接到 fruit:
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
我尝试在 docs 中使用 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
时,水果被上传,但有很多重复项。
我正在尝试将人与水果联系起来,没有重复的水果 - 这可以通过 bulkloader 实现吗?
最佳答案
当然可以。
基本问题是缺少一个步骤。你有一个水果名称,你想要存储的引用是一个水果键。您可以通过几种方式完成此操作。
如果 Banana
或 Apple
是水果的永久唯一标识符,您可以使用 transform.create_foreign_key('Fruit')
。这将为您提供一个水果键,其中水果名称就是键名。 Persons 将被上传指向不存在的 Fruit 实体,这很好。只需在 __key__
属性上使用相同的导入转换上传水果即可创建相应的实体。
如果您不想使用水果名称作为水果键名称,则需要进行一些更复杂的导入后处理。您可以编写一个 post_import_function
按名称查询水果以查看匹配的实体是否已存在,如果不存在则创建一个,然后在新创建的人实体上设置对它的引用。
关于python - 使用 bulkloader 上传数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5937011/
我应该如何在配置 yaml 文件中配置导入转换和导出转换,以便能够导出和导入多个整数属性? 最佳答案 我编写了这个用于批量加载数据的助手集合: http://code.google.com/p/bul
简而言之:如何配置 bulkloader 以将数据插入到 2 个带有引用的模型中? 我有一个 person 和 fruit 类,person 链接到 fruit: class Fruit(db.Mod
我正在尝试将 C# 代码中的 SQLXMLBulkLoader4 用于 SQL 2008 数据库。但由于某种原因,尽管没有抛出任何错误,但它根本没有插入任何行。我已经使用了 bulkloads 自己的
我想使用 bulkloader 下载具有一些自定义属性的模型中的所有实体。 如果我这样定义一个模型, class MyType: def __init__(self, arg):
我正在做一些应该很简单的事情,却一遍又一遍地卡住了。将非常简单的 csv 文件上传到我的开发服务器时出现此错误: Error in WorkerThread-0: app "dev~fbdec" ca
我目前正在尝试从我继承的 Google 应用下载和导出表格。我正在使用他们的 Python 框架。以下是 bulkloader.yaml 文件中的相关行: - kind: KindName con
在默认的 bulkloader.yaml 中,它说: # - Check that __key__ property is what you want. Its value will becom
我们将Elasticsearch集群从2.1.1升级到2.2。我们通过2.2.1之前版本运行的bulkload处理器进行的批量加载过程现在引发以下异常。如果我想念什么,请告诉我。我是这个新手。 [ma
我正在尝试使用 Bulkloader 从我的数据存储下载数据,但 DateTimeProperty 的精度似乎不准确,除非我以错误的方式做事。 这是我要下载的数据的属性: class LoggingP
我正在使用 MYSqlBulkLoader 将文本文件加载到 mysql 数据库表中。但是,文件中的日期格式为 mm/dd/yyyy,而 MySql 期望日期格式为 yyyy-mm-dd。用正确的格式
谁能澄清一下这里的情况? 我已将 Bulkloader 与 Python25 和旧/主从数据库一起使用。 我也将它(仅用于上传数据)与 Python25 和高复制数据存储一起使用,尽管它在这里说: h
我在使用 UWP 应用程序将数据从 csv 加载到 mysql 数据库时遇到问题。我基本上想做的是: 通过 HttpClient 从 csv 文件读取数据(200k 条记录,32 MB) 将数据保存到
我有相当多的数据要上传到 Google App Engine。我想使用 bulkloader 来帮助将其放入其中。但是,我的数据太多,通常在完成之前用完我的 CPU 配额。此外,任何其他问题(如互联网
我正在尝试使用 bulkloader 填充 db.ListProperty() 模型字段。 我正在使用如下导入转换函数: def parse_array(fn): def wrapper(va
我之前已经在我的项目中成功使用了bulkloader,但最近我在修改记录时添加了一个新字段来表示时间戳。不过,这个新字段给我带来了麻烦,因为它默认为空。在导入之前,如果没有在 csv 中手动插入时间戳
如何将上次修改时间属性添加到在批量上传期间更新的实体类型? 我目前正在使用 appcfg upload_data 将 csv 上传到我的高复制数据存储。我计划将其作为一项 cron 作业,以进行从内部
在AppEngine Bulkloader Documentation ,他们声明“如果您尝试从 High Replication 数据存储复制,您将在管理控制台中看到 high_replicatio
我想问一下,使用 Google App Engine BulkLoader 类导入数据需要提供哪种凭证 appcfg.py upload_data --config_file=models.py --
我正在尝试使用以下方法从数据存储中下载一些数据命令: appcfg.py download_data --config_file=bulkloader.yaml --application=myapp
对于我的项目,我使用 GAE 数据存储来存储数据。用于备份目的我决定使用 bulkloader - 它下载整个数据完美地保存在 csv 文件中。上传也上传数据很好没有错误。 我的问题是,上传不更新现有
我是一名优秀的程序员,十分优秀!