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

Пребарај: #ulbricht

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

@venturevillagewall · Post #3945 · 22.01.2025 г., 01:00

Trump Pardons Ulbricht and AI Project Launch 🚨 BREAKING: President Trump has officially pardoned Silk Road founder Ross Ulbricht. Meanwhile, he announced a groundbreaking $500 billion AI initiative, collaborating with OpenAI, Oracle, and SoftBank. The first phase will allocate $100 billion for AI infrastructure development in Texas, aiming for a nationwide impact. This project, named 'StarGate', marks a significant shift in AI investment and development strategy following a series of controversies surrounding these tech giants. For detailed insights: Watcher Guru, Watcher Guru #AI#Crypto#VC#Trump#Ulbricht#OpenAI#SoftBank#Oracle#NVIDIA#Texas#AGI#Ethereum#DeFi#investment#SilkRoad#innovation#finance#technology

Venture Village Wall 🦄

@venturevillagewall · Post #3935 · 21.01.2025 г., 04:00

Trump May Commute Ulbricht's Sentence Soon Rumors suggest President Trump might commute Ross Ulbricht's sentence tonight or tomorrow. Meanwhile, the Trump family's crypto project, World Liberty Financial, holds significant crypto assets including $184 million in ETH. In related news, a whale address incurred a $10.6 million floating loss after purchasing MELANIA tokens. More on WLFI's holdings: World Liberty Financial Details on MELANIA's trading losses: GMGN #Trump#Ulbricht#Bitcoin#ETH#Crypto#WLFI#MELANIA#Whale#Trading#Losses#Blockchain#Finance#Investing#Markets#News#USA#Rumor#Updates#Assets#WorldLiberty#CryptoAssets