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

Пребарај: #britishcomposer

当前筛选 #britishcomposer清除筛选
Classical Music

@exploreclassical · Post #265 · 27.04.2021 г., 11:00

大家早上好~最近鸟叫声也多起来了,我这边早上可以听到海鸥和鸽子的叫声~今天分享一首估计大家都耳熟能详的Ralph Vaughan Williams的Lark Ascending,每次听都觉得在宽广的湖面上遨游~~这首作品inspired by George Meredith的同名诗作,在乐谱的开头,Vaughan Williams抄了其中的12句: He rises and begins to round, He drops the silver chain of sound, Of many links without a break, In chirrup, whistle, slur and shake. For singing till his heaven fills, 'Tis love of earth that he instils, And ever winging up and up, Our valley is his golden cup And he the wine which overflows to lift us with him as he goes. Till lost on his aerial rings In light, and then the fancy sings. #springClassical#BritishComposer https://www.youtube.com/watch?v=h6PYDPspMG8 ref: https://en.wikipedia.org/wiki/The_Lark_Ascending_(Vaughan_Williams)