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

Пребарај: #titodoublep

当前筛选 #titodoublep清除筛选

Главные музыкальные релизы недели в Латинской Америке 👉Kevin Roldánпредставил новый альбом “In God We Trust” Colombian artist Kevin Roldán выпустил духовный и полностью самопродюсированный альбом “In God We Trust”, созданный под его собственным лейблом King Records. Проект из 12 треков отражает личное обновление артиста и сочетает afrobeat, merengue, reggaeton, balada и trap. Roldán подчёркивает, что это — его признание веры и источник внутренней силы. 👉Romeo Santos и Prince Royce выпустили альбом “Better Late Than Never” Легенды современной bachata — Romeo SantosиPrince Royce— представили совместный альбом “Better Late Than Never” с 13 новыми треками. Музыканты объединяют классическую bachata с элементами R&B, afrobeat и урбан-звучанием. Альбом презентовали на эксклюзивной listening session в Madison Square Garden, а дуэт уже готовит международное турне. 👉Tito“El Bambino”, Farrukoи Mr. Stiven TC презентовали клип “Temporal” Tito“El Bambino” и Farrukoвыпустили трек “Temporal” — яркую смесь guaracha и plena с позитивным посланием о том, как важно отпускать негатив и двигаться дальше. В официальном видео снялись Mr. Stiven TC, María Julissa и Kriss du Cecile. Артисты называют релиз песней “pura vibra”, а их дуэт — подтверждением долгого творческого взаимоуважения. 👉Peso Pluma и Tito Double P выпустили сингл “intro” Мексиканские артисты Peso Pluma и Tito Double P представили совместный трек “intro”, возвращающий к корням corridos tumbados. Песня рассказывает о ночной жизни, роскоши и адреналине, а клип с участием Kate del Castilloподчёркивает тему дуальности — света и тьмы. Оба исполнителя укрепляют позиции как ключевые фигуры современной música mexicana. #PesoPluma#TitoDoubleP #Farruko#TitoElBambino #RomeoSantos#Reggaeton#KevinRoldan#МузыкаЛАТАМ 👉Всегда свежие новости о странах Латинской Америки!