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 слични објави

Пребарај: #bolcheviques

当前筛选 #bolcheviques清除筛选

👴 La llegada de Lenin a Petrogrado y su impacto en la Revolución Rusa El 16 de abril de 1917, Vladímir Ilich Lenin regresó a Petrogrado después de años de exilio en Suiza. Su llegada marcó un punto de inflexión en la Revolución Rusa, que había comenzado en febrero de ese mismo año con la abdicación del zar Nicolás II. Rusia se encontraba en una crisis profunda, con un gobierno provisional incapaz de resolver los problemas económicos y sociales que aquejaban al país. Llegó en un tren especial facilitado por el gobierno alemán, que esperaba que su regreso desestabilizara Rusia y debilitara su participación en la Primera Guerra Mundial. Al arribar a la estación, fue recibido por una multitud de obreros, soldados y marinos que esperaban ansiosos sus palabras. Pronunció un discurso que quedaría para la historia, llamando a la revolución socialista y proclamando su famoso lema: "¡Todo el poder para los sóviets!". Este regreso no solo fortaleció al movimiento bolchevique, sino que también aceleró los acontecimientos que llevarían a la Revolución de Octubre, en la que los bolcheviques tomaron el poder y establecieron el primer gobierno comunista de la historia. Lenin, con su visión radical y su capacidad de movilización, logró consolidar el apoyo popular y transformar el panorama político ruso en cuestión de meses. #Lenin#RevoluciónRusa#Historia#Bolcheviques#Socialismo ¡Comparte nuestro contenido!❤️ 🖥https://vamosarusia.com 💬@vamosarusia