I have a datastore model representing items in an ecommerce site:
class Item(db.Model):
CSIN = db.IntegerProperty()
name = db.StringProperty()
price = db.IntegerProperty()
quantity = db.IntegerProperty()
Is there some way to enforce integrity constraints? For instance, I would like to make sure that quantity is never set to be less than 0.
The Property constructor lets you specify a function with the ‘validator’ named argument. This function should take one argument, the value, and raise an exception if the valid is invalid. For example:
Note that the example uses a nested function to define general-purpose validators – you can, of course, use simple functions if you want to write a more special purpose validator.