schematics
schematics copied to clipboard
[Feature] Models collection support
Imagine we can code like below:
from schematics.models import Model, ModelCollection
from schematics.types import StringType
from schematics.transforms import blacklist
class User(Model):
name = StringType()
password = StringType()
class Options:
roles = {
'public': blacklist('password'),
}
users = ModelCollection([{'name': 'Wonder'}, {'name': 'Jim'}], type=User)
# Or without the visibility of ModelCollection class:
# users = User.many([{'name': 'Wonder'}, {'name': 'Jim'}])
users.add(User({'name': 'Jake'}))
users.add({'name': 'Smile'})
# Optional APIs:
wonder = users.get(name='Wonder')
users.remove(name='Jim')
users.validate()
users.to_primitive(role='public')
+1