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

Резултати

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

Пребарај: #totem

当前筛选 #totem清除筛选

🎙 The NSO Totemannouncement🔥🔥🔥 In Africa, religion is manifested through the presence of Christianity, Islam, and to a lesser extent, traditional. 4/4 Super rare NFT Totem for sale included Certificate What you get buying NSO TOTEM NFT ? 1️⃣ NFT TOTEM NFT:Opensea.io 2️⃣ Certificate of Totem: Certificate 3️⃣ Real Life Totem who is only 4 in the world 4️⃣ Starting price 1978 eth ⭐️ Get ready for an enchanting journey into the heart of Africa's rich spiritual traditions! 🌟 The NSO Totem has just dropped, and it's a game-changer in the world of NFTs. 🚀 🌎Join Twitter 📱Contact owner Telegram Learn more about NSO Totem:www.thensototem.com/about-us #NSO#NFT#TOTEM#HistoricalArtifact

RIIIV - Airdrops

@riiivdrop · Post #610 · 14.12.2021 г., 17:28

🔥THE WHITELISTING CAMPAIGN🔥 for #Totem IDO is NOW open! ⦿ Participate in this contest: https://gleam.io/7cs6t/totem-ido-contest ⦿ Complete all the tasks. ⦿ 250 winners will receive a $100 allocation in Totem IDO! N.B. All the winners will receive an email from BullPerks with further instructions. They should answer the email and follow up in the Official Telegram Chat to confirm their participation in the deal. Due to security considerations, whitelist winners won't be disclosed. $BLP #BullStarter#BullPerks#Totem $CTZN #whitelisting#gaming#launchpad#IDO#GameFi