Как преобразовать список объектов Pydantic в строку JSONPython

Программы на Python
Anonymous
Как преобразовать список объектов Pydantic в строку JSON

Сообщение Anonymous »

Следующий код успешно преобразует список UserSQLAlchemyModel в список UserPydanticModel:

Код: Выделить всё

users_from_db = session.scalars(select(UserSQLAlchemyModel)).all()
users = TypeAdapter(list[UserPydanticModel]).validate_python(users_from_db)
Как теперь преобразовать пользователей в строку JSON? Я заметил, что использование dump_json вместо validate_python работает, но проблема в том, что параметр ignore в dump_json не имеет никакого эффекта, и нет документации по dump_json. Также мне очень хотелось бы знать, пропускает ли dump_json проверку или нет.
Мое решение напрямую использует to_json от Pydantic:

Код: Выделить всё

from pydantic_core import to_json

users_json = to_json(
[UserPydanticModel.model_dump(exclude=('password'))
for user in users]
)
Но я не знаю, правильный ли это способ. И грустно, что Pydantic не предоставляет простого решения для массивов объектов.
Почему я не использую Python json.dumps()? Мне не нравится иметь дело с ошибкой «не сериализуемый JSON».

Подробнее здесь: https://stackoverflow.com/questions/785 ... son-string

Вернуться в «Python»