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

Резултати

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

Пребарај: #bit2me

当前筛选 #bit2me清除筛选
Venture Village Wall 🦄

@venturevillagewall · Post #3714 · 25.12.2024 г., 16:00

USDt-TON Expansion and YouTube Blockage In April 2024, 900 million Telegram users gained access to USDt on the TON blockchain, leading to rapid integrations with top global services. Key updates include: - Bit2Me: Leading Spanish exchange now supports USDt on TON, offering low trading fees for European users. - Transak: Launched Transak Stream for easy conversions between USDt-TON and fiat. - Fireblocks: Integrated USDt-TON for client fund management and announced a grant program for TON integrations. More details available on Fireblocks. - NovaDAX: Major Brazilian exchange adds USDt-TON support, facilitating quick transactions for Latin American users. Meanwhile, new restrictions have been placed on YouTube in Russia, significantly dropping traffic. The government had been contemplating this move since early in the war, with the decision being formally executed this December. Key details include: - President Putin's administration has planned for years to block YouTube but delayed due to its vast user base of 96 million. - Recent meetings indicate strong governmental push with VK positioning as a potential alternative. For a detailed investigation into the YouTube blockage, check out the full report here. #USDt#TON#Web3#Bit2Me#Transak#Fireblocks#NovaDAX#YouTube#Russia#Kremlin#Censorship#Crypto#Finance#Tokens#Blockchain#Investments#DeFi#VentureCapital#PreIPO#TechM&A