Usage¶
Creating your models is pretty straight-forward: just inherit from carpentry.base.BaseObject and define some fields.
from carpentry import BaseObject, StringField, BoolField
class User(BaseObject):
first_name = StringField(required=True)
last_name = StringField(required=True)
email = StringField(required=True)
is_administrator = BoolField(default=False)
Then you can start using it right away:
>>> user = User({'first_name': 'John', 'last_name': 'Doe'})
>>> user.email = 'john.doe@example.com'
And now serialize it and get ready for (inserting in a database | sending via an API | ...):
>>> obj.serialize()
{
'first_name': 'John',
'last_name': 'Doe',
'email': 'john.doe@example.com',
'is_administrator': False,
}
Also, fields provide basic validation, so if you try, for example, to:
>>> obj.is_administrator == 'FooBar'
You’ll get a TypeError.