Я создаю пользовательский db.Property
подкласс:
class PropertyFoo(db.StringProperty):
def validate(self, value):
# Yes this is a pointless validator, but please read on
return value
def get_value_for_datastore(self, model_instance):
return super(PropertyFoo, self).get_value_for_datastore(model_instance)
def make_value_from_datastore(self, value):
return super(PropertyFoo, self).make_value_from_datastore(value)
Теперь я также создаю db.Model
подкласс:
class ModelFoo(db.Model):
foo = PropertyFoo(required=True)
Поэтому я проверяю их:
>>> m = ModelFoo()
# No errors :(
>>> m.foo
# No errors still
>>> print m.foo
'None' # <-- Why???
Я должен ожидать ошибку вроде:
BadValueError: Property foo is required
Как мне убедиться, что мой пользовательский подкласс Property
, когда он равен required
, вызывает BadValueError
?Я что-то упустил в своем PropertyFoo
определении?