我有一个自定义的 ndb 属性子类,它应该将一个空字符串解析为 None。当我在 _validate 函数中返回 None 时,将忽略 None 值并且仍然使用空字符串。
我可以以某种方式将输入值强制转换为无吗?
class BooleanProperty(ndb.BooleanProperty):
def _validate(self, value):
v = unicode(value).lower()
# '' should be casted to None somehow.
if v == '':
return None
if v in ['1', 't', 'true', 'y', 'yes']:
return True
if v in ['0', 'f', 'false', 'n', 'no']:
return False
raise TypeError('Unable to parse value %r to a boolean value.' % value)