Definér en modelklasse
Omdan en Python-klasse til en databasetabel.
Definér en modelklasse er en gratis Django Academy-lektion på CoddyKit. Dette er lektion 1 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.
En klasse, der bliver til en tabel
I Django er en model en Python-klasse, der beskriver én type data. Hver model bliver automatisk til en rigtig databasetabel.
Nedarv fra models.Model
Alle modeller nedarver fra models.Model. Den overordnede klasse giver din klasse alle de funktioner, der skal til for at tale med databasen. 🗄️
from django.db import models
class Book(models.Model):
passFelter er klasseattributter
Du beskriver kolonner ved at tilføje felter som klasseattributter. Hvert felt er én kolonne i den tabel, Django opbygger.
class Book(models.Model):
title = models.CharField(max_length=200)Ét felt, én kolonne
Tænk på det helt enkelt: Ét felt svarer til én kolonne. Tilføj et felt, så tilføjer du en kolonne til tabellen.
class Book(models.Model):
title = models.CharField(max_length=200)
pages = models.IntegerField()Modeller findes i models.py
Du skriver dine modeller i hver apps models.py-fil. Django ved, at den skal lede dér efter appens datastrukturer.
Den automatiske primærnøgle
Django tilføjer stille og roligt et id-felt som primærnøgle. Du får en unik identifikator for hver række uden at skrive kode.
Ingen SQL er nødvendig
Du behøver aldrig skrive CREATE TABLE manuelt. ORM omsætter din Python-klasse til SQL, så du kan blive i Python hele tiden.
Fra klassenavn til tabelnavn
Som standard er tabelnavnet appens etiket plus klassenavnet med små bogstaver, f.eks. app_book. Django vælger et fornuftigt navn for dig.
Instanser er rækker
Hver instans af din model er én datarække. Opret et Book-objekt, så beskriver du én bogpost.
book = Book(title="Dune", pages=412)Ental, med stort begyndelsesbogstav
Navngiv modeller i ental CamelCase: Brug Book, ikke Books. Django tilføjer flertalsformer, hvor det er nødvendigt i administrationsområdet.
Migrationer gør det virkeligt
En model er kun en plan, indtil du kører migrationer. Det trin opretter den tilsvarende tabel i din virkelige database.
Hurtigt tjek
Lad os bekræfte, hvad en Django-model faktisk svarer til.
Opsummering: Modeller i korte træk
Du har lært, at en model er en klasse, der udvider models.Model, at dens felter bliver til kolonner, og at migrationer omdanner den til en rigtig tabel. En god start! 🎉
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 “Definér en modelklasse” gratis?
Ja — alle 3 lektioner i læringssporet Django Academy, inklusive “Definér en modelklasse”, 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 “Definér en modelklasse”?
Omdan en Python-klasse til en databasetabel. 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 1 af 4.
Hvor lang tid tager lektionen “Definér en modelklasse”?
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
- Definér en modelklasse
- Vælg felttyper
- Feltindstillinger: null, blank, default
- str og Meta-klassen