Now, we will create the Flask-Marshmallow schema that we will use to validate, serialize and deserialize the previously declared User
model. Open the api/models.py
file and add the following code after the existing lines. The code file for the sample is included in the restful_python_chapter_07_02
folder:
class UserSchema(ma.Schema): id = fields.Integer(dump_only=True) name = fields.String(required=True, validate=validate.Length(3)) url = ma.URLFor('api.userresource', id='<id>', _external=True)
The code declares the UserSchema
schema, specifically a subclass of the ma.Schema
class. Remember that the previous code we wrote for the api/models.py
file created a flask_marshmallow.Mashmallow
instance named ma
.
We declare the attributes that represent fields as instances of the appropriate class declared in the marshmallow.fields
module. The UserSchema
class declares the name
attribute as an instance of fields...