We went through a detailed explanation of models and fields, using them to extend the To-Do app with Tags and Stages on tasks. You learned how to define relationships between models, including hierarchical parent/child relationships. 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 backend model features, making them available in the views used to interact with the application.