解决不能获取ListProperty为None的实体的问题

标签:Google App Engine, Python

今天在用bulkloader上传数据时发现ListProperty的值不能为[],于是只好传None了。可是在获取实体时,又报出ListProperty值不能为None的错误。

检查了一下后,发现是validate报的错。于是自己写了个StringListProperty,用来将None转换成[]:
class StringListProperty(db.StringListProperty):
	def validate(self, value):
		if value is None:
			return []
		if not isinstance(value, list):
			raise db.BadValueError('Property %s must be a list' % self.name)
		return self.validate_list_contents(value)
更改model定义后,就成功获取值了,然后put一下就能正常获取值了。

0条评论 你不来一发么↓

    想说点什么呢?