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 ...
Get Mastering Django: Core now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.