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

Резултати

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

Пребарај: #fifacwc

当前筛选 #fifacwc清除筛选

😀 😀 😀 😀 😀 😀 😀 🌐国际足联俱乐部世界杯 · 比赛日来啦! 🗓 2025年7月1日(北京时间) ⏰ 3:00 AM 🇪🇸 Real Madrid 🤩🤩 Juventus 🇮🇹 银河战舰强势出击,尤文图斯迎来硬仗 ⚔️ ⏰️9:00 AM 🇩🇪 Borussia Dortmund 🤩🤩Monterrey 🇲🇽 黄黑军团对阵墨西哥劲旅,谁能笑到最后? 🔥 📞锁定 Magic88,边看球边竞猜,赢走大奖! ➡️magic88.game #Magic88#俱乐部世界杯#国际足联#足球赛程#今日比赛#AucklandCity#BocaJuniors#Benfica#BayernMunich#Esperance#Chelsea#LAFC#Flamengo#足球迷必看#足球热爱者#体育狂欢#世界足球#足球比赛#足球直播#足球赛事预告#足球焦点#球迷福利#顶级对决#足球预测#欧洲豪门#南美劲旅#足球之夜#赛事日历#FIFACWC#SoccerMagic#竞猜赢大奖#足球狂潮 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🌟官网链接: ✅magic88.game 👈 ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🌐 Telegram 🌐Discord 🌐Facebook🌐Twitter X 🌐Instagram🌐Tiktok ✉️Luffa🔐SafeW

😀 😀 😀 😀 😀 😀 😀 🌍 国际足联俱乐部世界杯激战来袭! 谁能问鼎世界之巅?6月24日赛程,不容错过! 🕒 3:00 AM 🇳🇿 Auckland City 🆚 Boca Juniors 🇦🇷 🇵🇹 Benfica 🆚 Bayern Munich 🇩🇪 🕒 9:00 AM 🇹🇳 Espérance de Tunis 🆚 Chelsea 🏴 🇺🇸 LAFC 🆚 Flamengo 🇧🇷 🔥 世界强队云集,顶级对决一触即发! 📱 立即关注! 获取更多比赛精彩内容! #Magic88#俱乐部世界杯#国际足联#足球赛程#今日比赛#AucklandCity#BocaJuniors#Benfica#BayernMunich#Esperance#Chelsea#LAFC#Flamengo#足球迷必看#足球热爱者#体育狂欢#世界足球#足球比赛#足球直播#足球赛事预告#足球焦点#球迷福利#顶级对决#足球预测#欧洲豪门#南美劲旅#足球之夜#赛事日历#FIFACWC#SoccerMagic#竞猜赢大奖#足球狂潮 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🌟官网链接: ✅magic88.game 👈 ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🌐 Telegram 🌐Discord 🌐Facebook🌐Twitter X 🌐Instagram🌐Tiktok ✉️Luffa🔐SafeW