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

Резултати

Пронајдени 19 слични објави

Пребарај: #ddj

当前筛选 #ddj清除筛选
Data Stitches

@data_stitches · Post #262 · 01.05.2022 г., 17:52

How 'Tucker Carlson Tonight' Fuels Extremism and Fear - 纽约时报分析了超过1150集"Tucker Carlson Tonight",调查揭示卡尔森是如何利用独白和屏幕信息传播种族主义和阴谋论的,其中的数据和视频(音频)交互令人着迷 #ddj

Hashtags

Data Stitches

@data_stitches · Post #228 · 25.01.2022 г., 15:00

西班牙学生去波兰读书,而德国人去爱尔兰 - 为什么Erasmus交流项目和奖学金援助不足以克服国家和家庭之间的经济不平等#ddj

Hashtags

Data Stitches

@data_stitches · Post #176 · 15.11.2021 г., 20:51

将Taylor Swift原始录音与她的重新录音进行比较,可以在播放时在备用曲目之间切换 #ddj

Hashtags

Data Stitches

@data_stitches · Post #162 · 14.11.2021 г., 11:21

半数以上的欧洲国家禁止女同性恋者获得辅助生殖,几乎三分之一的国家禁止单身女性获得辅助生殖 - 无论您是异性恋情侣,还是单身女性还是女性情侣,在欧洲获得辅助生殖都变得越来越复杂,西班牙媒体Civio最新一篇交互可视化帮助人们探索了解欧洲各地关于辅助生育的不同政策和现状 #ddj

Hashtags

Data Stitches

@data_stitches · Post #161 · 14.11.2021 г., 11:15

Remembering the 5 million lives lost to Covid-19 - 全世界已经有近 500 万人死于 Covid-19, The Straits Times 设计了花瓣图形的可视化向因此缩短生命的人们致敬 #ddj

Hashtags

Data Stitches

@data_stitches · Post #150 · 30.10.2021 г., 22:41

头奖:赌博业如何从政治捐款中获利 - 在过去的 22 年里,与赌博相关的捐助者向澳大利亚政党贡献了超过 8100 万美元 #ddj

Hashtags

Data Stitches

@data_stitches · Post #148 · 17.10.2021 г., 22:12

日常性别歧视如何阻止女性获得职业晋升 - 即使一点点的性别偏见,随着时间的推移,几乎没有女性被留在最高管理层 #ddj

Hashtags

Data Stitches

@data_stitches · Post #137 · 10.10.2021 г., 19:00

美国郊区在 2020 年转向民主党 - 美国郊区在过去十年里逐渐变蓝、种族更加多样化以及人口增长,这些都会决定民主党是否能保持其微弱的众议院席位 #ddj

Hashtags

Data Stitches

@data_stitches · Post #129 · 09.10.2021 г., 11:30

美国的富家子弟正在纽约一些最令人向往的街区悄悄地进行房地产交易,利用为低收入人群提供的税收减免 (by Bloomberg) #ddj

Hashtags

Data Stitches

@data_stitches · Post #122 · 08.10.2021 г., 08:13

Afghanistan20 - 意大利在阿富汗的急救医疗组织 EMERGENCY 制作的数据报道,回顾了20年来阿富汗各地医院治疗的数千名战争受害者数据,Accurat 工作室为其制作了可视化 #ddj

Hashtags

12
ПретходнаСтраница 1 од 2Следна