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

Пребарај: #rompehielosnuclear

当前筛选 #rompehielosnuclear清除筛选

🚢Exploración polar: el rompehielos ruso que desafía al Ártico El "50 años de la Victoria" es un impresionante rompehielos nuclear ruso que surca las aguas heladas del Ártico, abriendo camino en uno de los entornos más extremos del planeta. Este coloso de acero, construido en el Baltijski Zavod de San Petersburgo, es una joya de la ingeniería rusa y un símbolo de la exploración polar. El proyecto comenzó en 1989, originalmente bajo el nombre de "Ural", pero debido a problemas financieros, su construcción se detuvo hasta 2003. Finalmente, en 2007, el barco entró en servicio y desde entonces ha sido una pieza clave en la navegación en esta parte del mundo. Con una longitud de 159 metros y una potencia de 75.000 caballos de fuerza, es capaz de romper capas de hielo de hasta 2,8 metros de espesor. Su diseño incluye una proa en forma de cuchara, lo que le permite deslizarse sobre el hielo y partirlo con mayor eficiencia. Ha realizado más de 100 viajes al Polo Norte, convirtiéndose en un ícono de la exploración mundial. En enero de 2025, el barco sufrió daños en su casco mientras navegaba por el Mar de Kara, aunque las autoridades aseguraron que podía seguir operativo y que no hubo peligro para su tripulación. Este incidente resalta los desafíos de operar en condiciones extremas y la importancia de contar con tecnología avanzada para la navegación en el Ártico. Este rompehielos no solo se usa para abrir rutas, sino que también ha sido protagonista de expediciones científicas y turísticas. En 2013, llevó el fuego olímpico al Polo Norte como parte de los preparativos para los Juegos Olímpicos de Invierno en Sochi. El "50 años de la Victoria" ha sido fundamental para el desarrollo de la navegación en el norte de Rusia, facilitando el transporte de mercancías y la investigación científica en una de las regiones más inhóspitas del mundo. Su legado como rompehielos nuclear sigue vigente, y su papel en la exploración ártica continúa siendo crucial.🇷🇺 #ExploraciónPolar#RompehielosNuclear#Ártico#Rusia#50AñosDeVictoria ¡Comparte nuestro contenido!❤️ 🖥https://vamosarusia.com 💬@vamosarusia