Django Academy · Lektion

Definér en modelklasse

Omdan en Python-klasse til en databasetabel.

Lektion 1 af 413 trin

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):
    pass

Felter 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! 🎉

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 “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

  1. Definér en modelklasse
  2. Vælg felttyper
  3. Feltindstillinger: null, blank, default
  4. str og Meta-klassen
← Tilbage til Django Academy