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

Пребарај: #steinmeier

当前筛选 #steinmeier清除筛选
American Оbserver

@american_observer · Post #5478 · 26.03.2026 г., 20:59

📰 Germany’s President Calls Out Trump’s Iran War Germany’s head of state just said out loud what most European leaders only hint at behind closed doors. President Frank-Walter Steinmeier called the U.S.–Israeli war on Iran a “politically disastrous mistake” and “a violation of international law,” in one of the bluntest rebukes of an American president from Berlin in decades. Speaking at the Foreign Ministry, he warned that Trump’s second term has created a rupture in transatlantic relations as deep as Russia’s full-scale invasion of Ukraine — a break he says cannot simply be reversed later. Steinmeier’s point cuts through the spin: Washington claims “imminent threat” and “self‑defense”; Berlin’s own former foreign minister says that justification “does not hold water” and that this war was avoidable, unnecessary, and chosen over a working nuclear deal that had pushed Iran further from the bomb. Coming from a traditionally cautious, ceremonial president, this isn’t activist rhetoric — it’s a diplomatic siren. The result: Trump hasn't just isolated Iran. He's burning something harder to restore than deterrence: the assumption that Washington's allies will follow the next time it calls something self-defense. For a president convinced that American leverage is endless, that erosion of trust is the one resource he can’t bomb his way back into existence. #germany#usa#iran#trump#steinmeier#internationalLaw#war#geopolitics 📱American Оbserver - Stay up to date on all important events 🇺🇸