Migrations

A model is just Python โ€” until a migration says otherwise

Writing class Walker(models.Model): doesn't touch the database at all. It's still just a Python class. Django needs a separate step to translate that class into an actual CREATE TABLE statement: a migration.

Think of migrations as version control for the schema โ€” the same way git tracks changes to code, migrations track changes to your database's shape over time, one file per change, in order.