Bootcamp backendontwikkeling met FastAPI · Les

Serialisatie met model_dump en aliases

Bepaal hoe Pydantic-modellen gegevens omzetten van en naar andere vormen met model_dump, field aliases, computed fields en serialisatieopties voor overzichtelijke API-payloads.

Les 4 van 413 stappen

Serialisatie met model_dump en aliases is een gratis Bootcamp backendontwikkeling met FastAPI-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Bootcamp backendontwikkeling met FastAPI. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Bootcamp backendontwikkeling met FastAPI bevat in totaal 4 lessen.

Serialisatie versus validatie

Pydantic heeft twee taken: validatie (onbetrouwbare invoer wordt een getypeerd model) en serialisatie (een model wordt een dict of JSON om te verzenden). Deze les richt zich op nauwkeurige controle van de uitvoer.

De basis van model_dump

In Pydantic v2 zet model_dump() een model om in een dict en model_dump_json() in een JSON-tekenreeks.

from pydantic import BaseModel

class User(BaseModel):
    name: str
    age: int

u = User(name='Ada', age=36)
print(u.model_dump())
print(u.model_dump_json())

Velden opnemen en uitsluiten

Beperk de uitvoer met include of exclude om interne of gevoelige velden uit een payload te verbergen.

u.model_dump(exclude={'age'})
u.model_dump(include={'name'})

Standaardwaarden en None verwijderen

Gebruik exclude_none=True of exclude_defaults=True om compactere payloads te maken waarin lege waarden ontbreken.

class Profile(BaseModel):
    name: str
    bio: str | None = None

Profile(name='Ada').model_dump(exclude_none=True)

Veldaliassen

Externe API's gebruiken vaak namen zoals userName, terwijl Python de voorkeur geeft aan user_name. Een alias koppelt deze namen aan elkaar.

from pydantic import BaseModel, Field

class User(BaseModel):
    user_name: str = Field(alias='userName')

Serialiseren met een alias

Standaard gebruikt model_dump de Python-veldnamen. Geef by_alias=True door om in plaats daarvan de aliasnamen uit te voeren.

u = User(userName='ada')
print(u.model_dump())
print(u.model_dump(by_alias=True))

populate_by_name

Stel model_config = ConfigDict(populate_by_name=True) in om bij het parseren van invoer zowel de veldnaam als de alias te accepteren. Zo houd je beide kanten flexibel.

from pydantic import ConfigDict

class User(BaseModel):
    model_config = ConfigDict(populate_by_name=True)
    user_name: str = Field(alias='userName')

Berekende velden

Maak afgeleide waarden beschikbaar in de uitvoer met @computed_field. Ze verschijnen in model_dump, maar maken geen deel uit van de invoer.

from pydantic import computed_field

class Person(BaseModel):
    first: str
    last: str
    @computed_field
    @property
    def full(self) -> str:
        return self.first + ' ' + self.last

Aangepaste veldserialiseerders

Gebruik @field_serializer om te bepalen hoe een specifiek veld wordt weergegeven, bijvoorbeeld om een datetime op te maken of een geheim af te schermen.

from pydantic import field_serializer

class Account(BaseModel):
    card: str
    @field_serializer('card')
    def mask(self, v: str) -> str:
        return '****' + v[-4:]

Aliastoewijzing in gewone Python

De transformatie by_alias bestaat alleen uit het hernoemen van sleutels. Hier zie je het concept zonder Pydantic.

data = {'user_name': 'ada', 'user_age': 36}
alias = {'user_name': 'userName', 'user_age': 'userAge'}
out = {alias[k]: v for k, v in data.items()}
print(out)

FastAPI-integratie van antwoorden

FastAPI serialiseert retourwaarden via je response_model. Stel response_model_by_alias en uitsluitingsopties op de route in om de JSON-vorm van je API-uitvoer te bepalen.

@app.get('/user', response_model=User, response_model_by_alias=True)
async def get_user():
    return User(user_name='ada')

Korte controle

Je model heeft user_name: str = Field(alias='userName'). Welke sleutel levert model_dump(by_alias=True) op?

Samenvatting

Je beheerst nu Pydantic-serialisatie:

  • model_dump / model_dump_json met include, exclude en exclude_none.
  • Aliassen plus by_alias en populate_by_name.
  • Berekende velden en aangepaste veldserialiseerders.
  • Integratie met antwoordmodellen van FastAPI.
Gratis beginnen

Leer Bootcamp backendontwikkeling met FastAPI met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
21
Lessen
84

Veelgestelde vragen

Is de les “Serialisatie met model_dump en aliases” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Bootcamp backendontwikkeling met FastAPI, waaronder “Serialisatie met model_dump en aliases”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Bootcamp backendontwikkeling met FastAPI bevat in totaal 4 lessen.

Wat leer ik in “Serialisatie met model_dump en aliases”?

Bepaal hoe Pydantic-modellen gegevens omzetten van en naar andere vormen met model_dump, field aliases, computed fields en serialisatieopties voor overzichtelijke API-payloads. Je oefent met Bootcamp backendontwikkeling met FastAPI door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Bootcamp backendontwikkeling met FastAPI te beginnen?

Ervaring vooraf is niet nodig. Bootcamp backendontwikkeling met FastAPI op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Serialisatie met model_dump en aliases”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Bootcamp backendontwikkeling met FastAPI?

Ja. Elke les over Bootcamp backendontwikkeling met FastAPI bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Pydantic-veldvalidatie en validators
  2. Aangepaste datatypen en instellingen
  3. Geneste modellen en recursieve structuren
  4. Serialisatie met model_dump en aliases
← Terug naar Bootcamp backendontwikkeling met FastAPI