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 слични објави

Пребарај: #onion

当前筛选 #onion清除筛选
TONlines – News

@tonlines · Post #6889 · 21.04.2025 г., 18:22

⚡️bemo: Final Opportunity for Genesis ONIONs #ONION#NFT The bemo channel announces the last chance to mint Genesis ONIONs NFTs, linked with the ONTON ecosystem. These NFTs offer access to an ONION airdrop, private sale, and voting power within the ONIONVerse. The deadline to mint is April 21. Source: link @tonlines

Hashtags

ONTON Launches ONION Genesis NFT Collection in Partnership with TON Society TON Society SBT holders now get exclusive 24-hour early access to the mint — just one of the many perks of being part of the #TONSociety🔠 Plus, a portion of the upcoming $ONION airdrop is reserved for Genesis NFT holders. The more NFTs you collect, the greater your final reward. ⚙️How it works: • Open the app • Pay 5 TON to spin • Unwrap a Gold, Silver, or Bronze ONION NFT • Complete a full set to boost your airdrop multiplier 💎And this is just the beginning. More collabs and exclusive benefits for SBT holders are on the way #ONION#TON#SBT#Airdrop