We went through a thorough explanation of models and fields, using them to extend the To-do app with tags and stages on tasks. You learned how to define relations between models, including hierarchical parent/child relations. Finally, we saw simple examples of computed fields and constraints using Python code.
In the next chapter, we will work on the user interface for these back-end model features, making them available in the views used to interact with the application.