Defining Models in Python
As we discussed earlier in Chapter 1, Introduction to Django and Getting Started, the M in MTV stands for Model. A Django model is a description of the data in your database, represented as Python code. It's your data layout-the equivalent of your SQL CREATE TABLE statements-except it's in Python instead of SQL, and it includes more than just database column definitions.
Django uses a model to execute SQL code behind the scenes and return convenient Python data structures representing the rows in your database tables. Django also uses models to represent higher-level concepts that SQL can't necessarily handle.
If you're familiar with databases, your immediate thought might be, "Isn't it redundant to define data models in ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access