1
創建自定義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
定義中錯過了什麼嗎?
順便說一句,有一個在子類方法沒有意義,如果你只需要調用超 - 你可以忽略它們完全。 –