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

Пребарај: #komponist

当前筛选 #komponist清除筛选

🎵Am 16. Dezember 2025 jährt sich der 110. Geburtstag von Georgi Wassiljewitsch Swiridow — einem Komponisten, dessen Musik zur Stimme der russischen Seele geworden ist Georgi Swiridow (1915-1998) war ein sowjetischer und russischer Komponist, deren Musik jeder, von jung bis alt, in Russland kennt. In seinen Werken hört man den Atem der Heimat, den Lauf der Zeit, die Stille winterlicher Felder und die Kraft des Wortes. Er war überzeugt, dass Musik eine moralische Stütze sein müsse, und wandte sich daher der Dichtung von Puschkin, Blok und Jessenin sowie den Themen Heimat und menschliches Schicksal zu. Von der „Schneesturm“-Suite bis zu den Chorzyklen ist seine Musik vom ersten Takt an erkennbar: streng, klar und von innerem Licht erfüllt. Am Geburtstag Georgi Swiridows möchte man sich nicht nur an seinen Namen erinnern, sondern seine Musik neu entdecken — als ein Gespräch über das Ewige, das bis heute fortdauert. Wir laden Sie ein, eines der bekanntesten Werke von Georgi Swiridow zu hören — „Zeit, vorwärts!“ vom Großen Symphonieorchester des Staatlichen Rundfunk- und Fernsehens der UdSSR unter der Leitung von Wladimir Fedossejew (1987). @RusBotschaft #Musik#Russland#Komponist