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

Пребарај: #sherrill

当前筛选 #sherrill清除筛选
Marx21.it

@marx21news · Post #9199 · 13.11.2025 г., 15:31

Tripla sconfitta per i Repubblicani, battuta d’arresto per Trump Le consultazioni del 4 novembre ridisegnano la mappa politica della East Coast. A New York, il progressista Zohran Mamdani conquista la carica di sindaco: primo musulmano e più giovane primo cittadino dal XIX secolo, con un programma centrato su affitti, servizi pubblici e giustizia sociale. In Virginia, la democratica Abigail Spanberger ribalta il ciclo repubblicano, diventando la prima governatrice donna dello Stato con un margine netto. In New Jersey, Mikie Sherrill consolida la posizione democratica, superando con largo vantaggio Jack Ciattarelli. Tre risultati che, presi insieme, segnalano un indebolimento del trumpismo e la capacità del Partito Democratico di parlare a elettorati diversi: dal laboratorio progressista newyorkese alla moderazione pragmatica del New Jersey. La vittoria di Mamdani, in particolare, mostra che una piattaforma non centrista può vincere quando affronta il costo della vita e le disuguaglianze urbane con proposte concrete. Resta aperto il dibattito: questa nuova ondata progressista sarà capace di tradurre le promesse in risultati reali, senza farsi assorbire dalle logiche dell’establishment? Un segnale politico forte: la classe lavoratrice torna al centro del discorso pubblico americano. #USA2025#ElezioniUSA#Mamdani#Spanberger#Sherrill#Democratici#Trump#PoliticaUSA#Progressismo https://www.marx21.it/internazionale/tripla-sconfitta-per-i-repubblicani-e-battuta-darresto-per-trump-mamdani-conquista-new-york-spanberger-ribalta-la-virginia-sherrill-consolida-il-new-jersey/