Flask Academy · Lektion

Definiera ett schema för en modell

Deklarera fält som mappar till din modell.

Lektion 2 av 413 steg

Definiera ett schema för en modell är en gratis lektion i Flask Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Flask Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Flask Academy innehåller totalt 4 lektioner.

Vad ett schema är

Ett Schema är en Python-klass som listar vilka fält dina data ska ha. Det speglar en modell men finns separat och används bara för in- och utdata.

Ärv från Schema

Varje schema ärver från Marshmallows basklass Schema. Om du döper det efter modellen, till exempel UserSchema, blir syftet tydligt direkt.

class UserSchema(Schema):
    pass

Deklarera fält

Inuti klassen lägger du till attribut från modulen fields. Varje attribut anger en nyckel som visas i den serialiserade JSON-utdatan.

id = fields.Int()
name = fields.Str()

Fälttyper spelar roll

Välj en fälttyp som passar datan: Int, Str, Bool, Float eller DateTime. Typen styr hur värden formateras och valideras.

active = fields.Bool()
score = fields.Float()

Hantera datum på rätt sätt

Ett DateTime-fält serialiserar automatiskt Pythons datetime-värden till rena ISO-strängar. Du slipper manuell formatering utspridd i vyerna.

created_at = fields.DateTime()

Markera obligatoriska fält

Skicka required=True till ett fält så att inläsningen misslyckas om det saknas. Det här är ditt första exempel på validering som är inbyggd direkt i schemat.

email = fields.Str(required=True)

Utelämna hemligheter

Lista bara de fält du vill exponera. Genom att helt enkelt inte deklarera password_hash kan schemat aldrig läcka ut det i ett svar.

Byt namn med data_key

Vill du ha camelCase i JSON från ett snake_case-attribut? Använd data_key för att koppla ett internt namn till en annan extern nyckel.

first_name = fields.Str(data_key="firstName")

Fält med dump_only

Vissa fält, som ett id, ska visas i utdata men aldrig accepteras som indata. Markera dem som dump_only så förblir de skrivskyddade.

id = fields.Int(dump_only=True)

Skapa en instans av schemat

Skapa en instans som du kan återanvända: user_schema är lika med UserSchema(). Skicka med many=True senare när du serialiserar en hel lista.

user_schema = UserSchema()

Ett schema, två uppgifter

Den här enda klassen dumpar både modeller till JSON och läser in JSON som kontrollerade data. Du definierar strukturen en gång och använder den i båda riktningarna.

Snabbkontroll

Du vill att id ska vara läsbart i utdata men aldrig accepteras som indata.

Repetition

En underklass till Schema deklarerar typade fält som kopplas till din modell. Alternativ som required, dump_only och data_key formar exakt vad som går in och ut.

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Definiera ett schema för en modell” gratis?

Ja – hela texten till ”Definiera ett schema för en modell” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Flask Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Flask Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Definiera ett schema för en modell”?

Deklarera fält som mappar till din modell. Ni övar på Flask Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Flask Academy?

Du behöver inga förkunskaper. Utbildningen i Flask Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Definiera ett schema för en modell”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Flask Academy-lektionen?

Ja. Varje Flask Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Varför handbyggd JSON faller samman
  2. Definiera ett schema för en modell
  3. Omvandla objekt till JSON
  4. Läs in och validera indatapayloads
← Tillbaka till Flask Academy