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

Резултати

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

Пребарај: #amm

当前筛选 #amm清除筛选
Cetus Announcements

@CetusProtocol · Post #36 · 16.11.2022 г., 13:26

💥Brand new alpha version of #Cetus is NOW LIVE on #Sui Devnet!! 🫱Access our latest application via https://app.cetus.zone #DeFi#AMM#CLMM https://twitter.com/CetusProtocol/status/1592871290599542785?s=20&t=THmh2WKC7kM7X0PfXpqjEQ @everyone

GPT360

@gpt360_announcement · Post #313 · 18.07.2023 г., 08:54

📌GPT360 is excited to announce its new media partners, who will also be integrating our protocol into their community! 📌FamSwap, A #Web3 one-stop decentralized trading platform including #AMM, #MiningPool, #LaunchPad , #Game, #NFT and #AIGC

Venture Village Wall 🦄

@venturevillagewall · Post #4246 · 26.02.2025 г., 01:00

Bitcoin Whales Buy the Dip! Bitcoin whales are buying during the price dip. Circle CEO Jeremy Allaire advocates for U.S. regulation of stablecoins, insisting companies must register if offering dollar-backed stablecoins in the U.S. PayPal plans to integrate its stablecoin PYUSD into various products, aiming for global payments via Hyperwallet in 2025. Pump.fun is launching its own AMM and leaving Raydium. Read more on Circle's stance here. For PayPal's integration plans, click here. Details about Pump.fun's move can be found here. #Bitcoin#Stablecoin#Regulation#Circle#PayPal#PYUSD#DeFi#Crypto#AMM#Raydium#Finance#ConsumerProtection#Blockchain#Payments#MarketTrends#Investment#TechNews#VC