Django Academy · Lektion

Ændr en model, og migrér igen

Tilføj et felt, og skriv ændringen ind i databasen.

Lektion 3 af 413 trin

Ændr en model, og migrér igen er en gratis Django Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Django Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Django Academy-kurset indeholder 4 lektioner i alt.

Modeller udvikler sig

Virkelige apps ændrer sig. Når en funktion har brug for en ny kolonne, redigerer du modellen og lader migrationer føre ændringen over i databasen.

Trin 1: Redigér modellen

Start med at tilføje feltet i din modelklasse. Her giver du et Post et published-flag med en fornuftig standardværdi.

class Post(models.Model):
    title = models.CharField(max_length=200)
    published = models.BooleanField(default=False)

Trin 2: makemigrations

Kør makemigrations. Django sammenligner den nye model med den seneste og skriver en ny migration til det tilføjede felt.

python manage.py makemigrations

Trin 3: migrate

Kør migrate for at anvende den nye fil. Kolonnen findes nu i den rigtige tabel og er klar til brug.

python manage.py migrate

Standardværdier udfylder gamle rækker

Når du tilføjer et felt, der ikke må være NULL, til en tabel med data, skal eksisterende rækker have en værdi. En default udfylder dem på en ren måde.

Ingen standardværdi? Django spørger

Uden en standardværdi stopper makemigrations og beder dig angive en engangsværdi for eksisterende rækker, før den fortsætter.

Hver ændring er en ny fil

Django redigerer aldrig gamle migrationer. Hver modelændring bliver til en ny nummereret fil oven på den seneste.

Omdøbning af et felt

Omdøb et felt, og Django spørger måske, om du omdøbte det i stedet for at slette og tilføje det. Svar ja for at bevare kolonnens data.

Fjernelse af et felt

Slet et felt fra modellen, hvorefter makemigrations skriver et RemoveField-trin. Anvend det, så er kolonnen væk for altid.

Annullering af en migration

Hvis du vil fortryde, skal du migrere tilbage til et tidligere nummer. Django kører migrationerne baglæns for at gendanne det tidligere skema.

python manage.py migrate blog 0001

Commit filerne

Commit altid den nye migration sammen med dine modelændringer. Teammedlemmer kører migrate og får det samme skema uden overraskelser.

Hurtigt tjek

Du tilføjer et påkrævet felt til en tabel, der allerede har rækker. Hvad har Django brug for?

Opsummering

Loopet er enkelt: redigér modellen, kør makemigrations og migrate, og commit derefter. Hver ændring bliver en ny fil, så din historik forbliver troværdig. ✅

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Ændr en model, og migrér igen” gratis?

Ja — alle 3 lektioner i læringssporet Django Academy, inklusive “Ændr en model, og migrér igen”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Django Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Ændr en model, og migrér igen”?

Tilføj et felt, og skriv ændringen ind i databasen. Du øver dig i Django Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Django Academy?

Der kræves ingen tidligere erfaring. Django Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Ændr en model, og migrér igen”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Django Academy-lektion?

Ja. Alle Django Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. makemigrations vs. migrate
  2. Læs en migrationsfil
  3. Ændr en model, og migrér igen
  4. sqlmigrate og undersøgelse af SQL
← Tilbage til Django Academy