Migrations propagate model changes to the database. makemigrations generates migration files from the differences, migrate applies them. They are versioned with the code, which lets the whole team keep their databases in sync.
Example
python manage.py makemigrations
python manage.py migrate