【发布时间】:2011-07-09 04:42:24
【问题描述】:
我正在尝试使用 bulkloader 填充 db.ListProperty() 模型字段。
我正在使用如下的导入转换函数:
def parse_array(fn):
def wrapper(value):
return [fn(seg) for seg in re.split("\\,", value) if not seg=='']
return wrapper
配置如下:
import_transform: lib.bulkloader_helpers.parse_array(int)
有些数组是空的,这会导致问题。当我上传时:
BadValueError:不能使用空列表作为属性值;属性 xxx 是 []。
哦哦。好,我们来改一下导入变换函数:
def parse_array(fn):
def wrapper(value):
args[fn(seg) for seg in re.split("\\,", value) if not seg=='']
if args==[]:
return None
else:
return args
return wrapper
现在空列表加载得很好。但是,当应用尝试加载模型时:
BadValueError: 需要属性 xxx
我也不能设置 db.ListProperty(required=False):
google.appengine.ext.db.ConfigurationError: required 必须为 True。
有人建议出路吗?
谢谢,
贾斯汀
【问题讨论】: