Modificare un modello e migrare di nuovo
Aggiunga un campo e applichi la modifica al database
Modificare un modello e migrare di nuovo è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Django Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Django Academy include 4 lezioni in totale.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
Models Evolve
Real apps change. When a feature needs a new column, you edit the model and let migrations carry the change to the database.
Step 1: Edit the Model
Start by adding the field in your model class. Here you give a Post a published flag with a sensible default.
class Post(models.Model):
title = models.CharField(max_length=200)
published = models.BooleanField(default=False)Step 2: makemigrations
Run makemigrations. Django diffs the new model against the last one and writes a fresh migration for the added field.
python manage.py makemigrationsStep 3: migrate
Run migrate to apply the new file. The column now exists in the real table, ready to use.
python manage.py migrateDefaults Fill Old Rows
Adding a non-nullable field to a populated table needs a value for existing rows. A default fills them in cleanly.
No Default? Django Asks
Without a default, makemigrations stops and prompts you to provide a one-off value for existing rows before continuing.
Each Change Is a New File
Django never edits old migrations. Every model change becomes a new numbered file stacked on top of the last.
Renaming a Field
Rename a field and Django may ask if you renamed rather than dropped-and-added. Answer yes to keep the column data.
Removing a Field
Delete a field from the model, then makemigrations writes a RemoveField step. Apply it and the column is gone for good.
Reversing a Migration
To undo, migrate back to an earlier number. Django runs the migrations in reverse to restore the previous schema.
python manage.py migrate blog 0001Commit the Files
Always commit the new migration with your model edits. Teammates run migrate and get the same schema, no surprises.
Quick Check
You add a required field to a table that already has rows. What does Django need?
Recap
The loop is simple: edit the model, makemigrations, migrate, commit. Each change becomes a new file, so your history stays honest. ✅
Domande Frequenti
La lezione «Modificare un modello e migrare di nuovo» è gratuita?
Sì — il testo completo di «Modificare un modello e migrare di nuovo» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Django Academy, passa a CoddyKit PRO. Il corso Django Academy include 4 lezioni in totale.
Cosa imparerò in «Modificare un modello e migrare di nuovo»?
Aggiunga un campo e applichi la modifica al database Eserciti Django Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Django Academy?
Non è richiesta alcuna esperienza precedente. Django Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Modificare un modello e migrare di nuovo»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Django Academy?
Sì. Ogni lezione Django Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- makemigrations e migrate a confronto
- Leggere un file di migrazione
- Modificare un modello e migrare di nuovo
- sqlmigrate e ispezione dell'SQL