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

Пребарај: #diavelv4rs

当前筛选 #diavelv4rs清除筛选

💥Ducati Diavel V4 RS 2026 – Дьявол стал ещё мощнее! 💀⚡ Официальный анонс Ducati Diavel V4 RS 2026 взорвал мотосообщество – это не просто апгрейд, а настоящая революция в мире muscle-байков! ✏️ Итальянцы создали машину, которая сочетает адскую мощь, премиальный дизайн и космические технологии. Готовы познакомиться с новым королём ночи? 🌑 💥 Двигатель: V4 Granturismo с характером демона 🔹 1,158 см³, 180 л.с., 125 Нм – этот мотор не просто рвёт асфальт, он испепеляет его! 🔹 Апгрейд впуска + новая выхлопная система = зверский рёв, от которого дрожат витрины. 🔹 Оптимизированная ECU – мгновенный отклик на газ, будто байк читает твои мысли. 🎨 Дизайн: Ультра-агрессивный и лёгкий, как тень 🔹 Карбоновые обтекатели + крылья – снижение веса без потери жёсткости. 🔹 Колёса Marchesini – не просто стильно, а ещё и улучшает динамику. 🔹 Подвеска Öhlins Smart EC 2.0 – адаптируется под любой стиль езды: хоть трек, хоть городской ад. 🔹 Фирменные "рёбра" на баке – намёк на скрытую мощь, как у спорткаров Ducati. 📱 Технологии: Умный, как компьютер, опасный, как бритва 🔹 6,5" TFT-дисплей с Ducati Connect – навигация, музыка, телеметрия. 🔹 5 режимов езды (включая скрытый Race Mode для истинных маньяков). 🔹 Launch Control + трекшн-контроль 3-го поколения – чтобы не улететь в кювет при старте. 🔹 Адаптивный круиз-контроль – для тех, кто любит скорость, но не хочет лишний рисковать. 💰 Цена: Готовы продать душу? Ориентировочная стоимость – от €25,000. Дорого? Зато это самый технологичный круизер в линейке Ducati! 🏆 Доступен в трёх цветах: ◼ Чёрный сатин (как душа настоящего байкера) 🔴 Красный Ducati (классика, но с налётом безумия) 🌑 Matt Carbon (для тех, кто любит скрытую мощь) 💬 Вердикт Ducati сделал Diavel ещё злее, быстрее и умнее. Это не просто мотоцикл – это оружие массового поражения асфальта. #Ducati#DiavelV4RS#МотоДрайв#АдскаяТехника