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

Резултати

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

Пребарај: #cryptopedia

当前筛选 #cryptopedia清除筛选
欧易OKX公告

@OKXchinese · Post #1400 · 19.07.2023 г., 09:24

#Cryptopedia 第 4 期将于今日 12 时开启 📣 体验 5️⃣ 个 @SuiNetwork DApp: 🌟@CetusProtocol 🌟@joinMovEX 🌟@navi_protocol 🌟@scallop_io 🌟@TypusFinance 参与活动有机会赢得👇 💧 370,370 枚 #SUI 💧 5 个项目的代币奖励 💧 独家 Sui x OKX NFT 立即参与 👉https://www.okx.com/cn/help-center/okx-wallet-to-launch-cryptopedia-season-4 欢迎加入OKX大家庭!

欧易OKX公告

@OKXchinese · Post #1399 · 19.07.2023 г., 09:23

#Cryptopedia 第 4 期将于今日 12 时开启 📣 体验 5️⃣ 个 @SuiNetwork DApp: 🌟@CetusProtocol 🌟@joinMovEX 🌟@navi_protocol 🌟@scallop_io 🌟@TypusFinance 参与活动有机会赢得👇 💧 370,370 枚 #SUI 💧 5 个项目的代币奖励 💧 独家 Sui x OKX NFT 立即参与 👉https://www.okx.com/cn/help-center/okx-wallet-to-launch-cryptopedia-season-4

欧易OKX公告

@OKXchinese · Post #1768 · 22.01.2024 г., 14:54

用 #OKX 探索 #Solana 生态,赢取超10万美元活动奖金,埋伏优质协议未来空投!Solana Super Season 火热开幕~#OKXSolana#DeFi#Cryptopedia 立即加入: https://www.okx.com/cn/campaigns/solana-super-season 🌸欢迎关注欧易OKX中文公告频道:https://t.me/OKXchinese

Airdrop Comic

@airdropcomic · Post #2061 · 14.07.2025 г., 06:25

🔥Airdrop - Bluefin x OKX Cryptopedia ✅ 💰Total Reward: $605,000+ worth of tokens — including $550K in BLUE + $55K in SUI — up for grabs through Cryptopedia Season 38 ☀️Airdrop Link :- Click Here ⚙️How to Participate? ♦️Connect your OKX Wallet (SUI Network) ♦️Complete all tasks within the Bluefin campaign on Cryptopedia ♦️Verify your actions to be eligible ♦️Tasks are simple and interactive — don’t miss out 🎁Eligible participants will earn a share of 605,000 USDT in token rewards 📆Campaign Ends: 6 September 2025 – 7:00 AM UTC 📌Explore DApps, complete missions, and earn rewards this is Web3 made fun and rewarding 🔗 Source: https://x.com/wallet/status/1943597905996034069 ®Note - Please do your own research (DYOR) before joining to any airdrops project, also airdrop is 100% free. Don't send any fee or penny for receiving airdrop tokens required #OKX#Bluefin#Cryptopedia#Airdropcomic#Web3Rewards