TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #397 · 12 ное.

Использование Pydantic сегодня стало нормой, и это правильно. Но иногда на ревью вижу, что используют его не всегда корректно. Например, метод BaseModel.model_dump() по умолчанию не преобразует стандартные типы, такие как datetime, UUID или Decimal, в простой сериализуемый для JSON вид. Тогда пишут кастмоный сериализатор для этих типов чтобы функция json.dump() не падала с ошибкой. import uuid from datetime import datetime from decimal import Decimal from uuid import UUID from pydantic import BaseModel class MyModel(BaseModel): id: UUID date: datetime value: Decimal obj = MyModel( id=uuid.uuid4(), date=datetime.now(), value='1.23' ) print(obj.model_dump()) # не подходит для json.dump # { # 'id': UUID('4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1'), # 'date': datetime.datetime(2025, 12, 12, 12, 12, 12, 111111), # 'value': Decimal('1.23') # } # добавляем свой кастомный сериализатор json.dumps(obj.model_dump(), cls=MySerializer) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2025-12-12T12:12:12.111111', # 'value': '1.23' # } В данном случае класс MySerializer обрабатывает datetime, UUID и Decimal. Например так: class MySerializer(json.JSONEncoder): def default(self, o): if isinstance(o, Decimal): return str(o) elif isinstance(o, datetime): return o.isoformat() elif isinstance(o, UUID): return str(o) return super().default(o) Специально для тех, кто всё еще так делает - в этом нет необходимости! Pydantic может это сделать сам, просто нужно добавить параметр mode="json". json.dumps(obj.model_dump(mode="json")) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2012-12-12T12:12:12.111111', # 'value': '1.23' # } #pydantic#libs

Резултати

Пронајдени 1 слични објави

Пребарај: #librodejob

当前筛选 #librodejob清除筛选
TrilocosxJesús ✨

@trilocosxjesus · Post #6281 · 06.06.2025 г., 16:08

Este sábado, no te pierdas nuestro programa dedicado al Libro de Job. Nos acompaña el P. Leonardo Arboleda, director de Pastoral del Centro Carismático MD en Medellín, quien nos guiará en un fascinante recorrido por este relato de fe, sufrimiento y esperanza. Iniciaremos con un mensaje de "Esperanza en medio del sufrimiento" y cerraremos con una reflexión sobre cómo el Libro de Job nos invita a confiar en el plan divino, incluso en las pruebas más difíciles. Programa #LaCatequesis: Una "Fe sencilla" para una "Vida Iluminada". Nos escuchamos a las 2:00 p.m. en la Emisora Minuto de Dios. Sintoniza en el enlace https://medellin.minutodedios.fm o en nuestra app. ¡No faltes, te esperamos con este gran tema que fortalecerá tu fe! #LaCatequesis#FeSencillaVidaIluminada#LibroDeJob#FeYEsperanza#IglesiaCatolica#MinutodeDiosMed#RCC#TrilocosxJesus