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

Пребарај: #rota

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

@american_observer · Post #5270 · 02.03.2026 г., 23:59

✈️ Spain Bails on Trump’s Iran Air War Trump wants a “global” Iran campaign. Spain just replied: not from our runway. Fifteen U.S. tankers have slipped out of Rota and Morón — the refueling backbone of America’s Middle East reach — and headed off to Germany and France after Madrid made it official: Spanish soil won’t be used to bomb Iran. Foreign Minister José Manuel Albares spelled it out for TV: their bases can’t be used for anything outside the U.S.–Spain agreement or that clashes with the U.N. Charter. Translation: we’ll host your hardware, not your crusade. Pedro Sánchez, who already slammed the U.S.–Israeli strikes as “unilateral military action,” now gets to pose as the only grown‑up in Western Europe while Keir Starmer does lawyer talk in London and quietly opens up British bases under the label of “collective self‑defence.” One prime minister wraps it in NATO jargon; the other follows the flight trackers and pulls the plug. For Trump’s war machine, this is “just logistics.” For everyone else, it’s a tell. Even a NATO ally that relies on U.S. power is calculating that being visibly tied to this Iran war is more dangerous than pushing the Stratotankers out of sight and pretending this is somebody else’s escalation. The coalition is still there on paper — it just doesn’t want to be caught in the frame. #Iran#Spain#Trump#NATO#airwar#Rota#Moron#war#fakeDemocracy 📱American Оbserver - Stay up to date on all important events 🇺🇸