from pydantic import BaseModel, SecretStr class User(BaseModel): id: int username: str password: SecretStr class Transaction(BaseModel): id: str user: User value: int t = Transaction( id="1234567890", user=User( id=42, username="JohnDoe", password="hashedpassword" ), value=9876543210 ) # using a set: print(t.dict(exclude={'user', 'value'})) # using a dict: print(t.dict(exclude={'user': {'username', 'password'}, 'value': ...})) print(t.dict(include={'id': ..., 'user': {'id'}}))