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

Пребарај: #cubadebate

当前筛选 #cubadebate清除筛选
RISVEGLIO

@gianlucaprocaccinireport · Post #10146 · 04.01.2026 г., 08:51

La lezione di Boric 🇨🇱 " Come Governo del Cile esprimiamo la nostra preoccupazione e condanna per le azioni militari degli Stati Uniti in Venezuela e chiediamo una soluzione pacifica alla grave crisi che colpisce il Paese. Il Cile ribadisce il proprio impegno nei confronti dei principi fondamentali del diritto internazionale, quali il divieto dell’uso della forza, la non ingerenza negli affari interni degli Stati, la risoluzione pacifica delle controversie internazionali e l’integrità territoriale degli Stati. La crisi venezuelana deve essere risolta attraverso il dialogo e il sostegno del multilateralismo, e non attraverso la violenza o l’ingerenza straniera". Gabriel Boric #venezuela#patria#patriotas#bolivar#italia#europa#madrid#latinoamerica#cubadebate#colombia#SimónBolívar#GranColombia#Libertador#Bolivarianismo#Venezuela#Bolivia#Ecuador#Nicaragua#AméricaLatina#HistoriaLatina#UnidadLatinoamericana