Django Ninja API framework Pydantic schema for User model ommits fields

Проект работает под управлением Django с Ninja API framework. Для сериализации нативной модели пользователя Django я использую следующую схему Pydantic:

class UserBase(Schema):
    """Base user schema for GET method."""

    id: int
    username = str
    first_name = str
    last_name = str
    email = str

Но этот подход дает мне ответ:

{
  "id": 1
}

Где остальные поля?

При таком подходе я получаю полный ответ данных:

class UserModel(ModelSchema):
    class Config:
        model = User
        model_fields = ["id", "username", "first_name", "last_name", "email"]

Ответ из ModelSchema:

{
  "id": 1,
  "username": "aaaa",
  "first_name": "first",
  "last_name": "last",
  "email": "a@aa.aa"
}

Похоже, что проблема в том, что вы не указали тип для других полей. Просто замените = на : в вашей схеме для всех полей:

class UserBase(Schema):
    """Base user schema for GET method."""

    id: int
    username: str # not =
    first_name: str
    last_name: str
    email: str
Вернуться на верх