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

Пребарај: #cioacademy

当前筛选 #cioacademy清除筛选
Global CIO. IT Leaders Community

@globalcio · Post #591 · 16.04.2026 г., 06:03

Global CIO Summer Academy: turning IT strategy into real cyber resilience We’re starting to introduce the practitioner-mentors of the Global CIO Summer Academy 2026 — experienced IT leaders who share how they turn strategy into real business outcomes. Cybersecurity as a critical focus area will be covered by Komitas Stepanyan, Technology and Cybersecurity Director at the Central Bank of Armenia: 🔸 GRC expert with 20+ years in IT and cybersecurity 🔸 short-term expert for IMF & World Bank since 2018 🔸 expert in global frameworks: ISO/IEC 27001, ISO 22301, COBIT, COSO ERM, ISO 31000, NIST, and more 👉Join the Academy to attend his session 📎 From IT Strategy to Cyber Resilience: What CIOs Must Control, Measure, and Enforce 🗓 June 17 | 18:00–20:00 GMT +3 | Online How do you move from strategy to real, measurable cyber resilience? Komitas will break down what CIOs must control, measure, and enforce to ensure business continuity and full risk visibility. You’ll get practical frameworks, priority controls, and clear metrics you can apply immediately — without adding unnecessary complexity. 👉 Looking to exchange insights with experienced IT leaders? Join the Academy! 🌱Use promo code SPRING to get 10% discount — valid until the end of April. #GlobalCIO#CIOAcademy