0Pricing
FastAPI Backend Development Bootcamp · Leçon

Sérialisation avec model_dump et les alias

Contrôlez la conversion des modèles Pydantic vers et depuis les données avec model_dump, les alias de champs, les champs calculés et les options de sérialisation pour produire des charges utiles d’API propres.

Sérialisation avec model_dump et les alias est une leçon FastAPI Backend Development Bootcamp gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage FastAPI Backend Development Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours FastAPI Backend Development Bootcamp comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Serialization vs Validation

Pydantic does two jobs: validation (untrusted input becomes a typed model) and serialization (a model becomes a dict or JSON to send out). This lesson focuses on controlling the output side precisely.

model_dump Basics

In Pydantic v2, model_dump() turns a model into a dict and model_dump_json() into a JSON string.

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())

Including and Excluding Fields

Trim the output with include or exclude to hide internal or sensitive fields from a payload.

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

Dropping Defaults and None

Use exclude_none=True or exclude_defaults=True to produce leaner payloads that omit empty values.

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

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

Field Aliases

External APIs often use names like userName while Python prefers user_name. An alias maps between them.

from pydantic import BaseModel, Field

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

Serializing by Alias

By default model_dump uses the Python field names. Pass by_alias=True to output the alias names instead.

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

populate_by_name

Set model_config = ConfigDict(populate_by_name=True) to accept either the field name or the alias when parsing input, giving you flexibility on both ends.

from pydantic import ConfigDict

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

Computed Fields

Expose derived values in the output with @computed_field. They appear in model_dump but are not part of the input.

from pydantic import computed_field

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

Custom Field Serializers

Use @field_serializer to control how a specific field is rendered, for example formatting a datetime or masking a secret.

from pydantic import field_serializer

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

Alias Mapping in Plain Python

The by_alias transform is just key renaming. Here is the concept without 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 Response Integration

FastAPI serializes return values through your response_model. Set response_model_by_alias and exclusion flags on the route to shape the JSON your API emits.

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

Quick Check

Your model has user_name: str = Field(alias='userName'). What does model_dump(by_alias=True) produce for the key?

Recap

You mastered Pydantic serialization:

  • model_dump / model_dump_json with include, exclude, and exclude_none.
  • Aliases plus by_alias and populate_by_name.
  • Computed fields and custom field serializers.
  • Wiring it into FastAPI response models.

Questions Fréquemment Posées

La leçon « Sérialisation avec model_dump et les alias » est-elle gratuite ?

Oui — le texte complet de « Sérialisation avec model_dump et les alias » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours FastAPI Backend Development Bootcamp, passe à CoddyKit PRO. Le cours FastAPI Backend Development Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Sérialisation avec model_dump et les alias » ?

Contrôlez la conversion des modèles Pydantic vers et depuis les données avec model_dump, les alias de champs, les champs calculés et les options de sérialisation pour produire des charges utiles d’AP… Tu pratiques FastAPI Backend Development Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer FastAPI Backend Development Bootcamp ?

Aucune expérience préalable n'est requise. FastAPI Backend Development Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Sérialisation avec model_dump et les alias » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon FastAPI Backend Development Bootcamp ?

Oui. Chaque leçon FastAPI Backend Development Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Validation des champs Pydantic et validateurs
  2. Types de données et paramètres personnalisés
  3. Modèles imbriqués et structures récursives
  4. Sérialisation avec model_dump et les alias
← Retour à FastAPI Backend Development Bootcamp