如何使用bulkloader上传日期?

时间:2012-07-21 13:10:15

标签: python google-app-engine bulkloader

我在 bulkloader.yaml

中有以下代码
  - property: dismissal_date
    external_name: dismissal_date
    import_transform: "lambda x: None if x is None or x=='' else datetime.datetime.strptime(x, '%d.%m.%Y').date()"

models.py

class Employee(ndb.Model):
    dismissal_date = ndb.DateTimeProperty()

上传文件(csv)

last_name,first_name,middle_name,region,dismissal_date
Last name,First name,Middle name,22,13.01.2009

但是我收到以下错误:

BadValueError: Unsupported type for property dismissal_date: <type 'datetime.date'>

1 个答案:

答案 0 :(得分:1)

以下实际上有效(由于the doc说我应该使用.date()),这很奇怪:

import_transform: "lambda x: None if x is None or x=='' else datetime.datetime.strptime(x, '%d.%m.%Y')"

Source of transform.py帮助确定了这一点。

我已将属性类型更改为DateProperty(),但仍使用时间组件(00:00:00)保存日期。