Использование 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
VEON AdTech — аналитика, которая превращает данные в прибыль 💸
📊Наши дашборды — это не просто графики, а рабочий инструмент решений.
👣Поведенческая аналитика по 100+ параметрам: распознаём не просто кто, а почему и когда кликает.
🛒Связь digital и офлайн-продаж: строим воронки, где digital влияет даже на офлайн-продажи (рост на +17% в ритейле).
💡 Фокус на бизнес-метрики, а не «отчетные» цифры: измеряем не охваты, а влияние на реальные бизнес-метрики — от конверсии до выручки.
💎Меньше шума. Больше смысла.
Какие метрики для вас критичны при анализе эффективности?
Делитесь в комментах — обсудим, как применить наш подход в вашей нише.⬇️
👋👋#ProfitFromData#BusinessIntelligence#DataAnalytics#AskTheExperts
✅ Через неделю
ИТ-форум BIT-2018
📅 1 марта / 09:30 (время Самарское, МСК+1) / Самара, ул. Алексея Толстого, 99
💵 Платно
📝 Регистрация и условия участия тут: https://goo.gl/SQ91aU
Программа BIT-2018 обещает быть чрезвычайно насыщенной и интересной! Так, в тематику Форума входят следующие направления:
~ Вопросы применения ИТ в бизнесе
~ Облачные технологии и решения
~ Интернет вещей (IoT) и «умные» решения в бизнесе, повседневной жизни и на производстве
~ ЦОД и технологии для их построения, работы и обслуживания
~ Передача звука и видео по сетям. АТС, построение контакт-центров и охранных систем и другие применения IP-технологий
~ Вопросы импортозамещения в ИТ и взаимодействия с госструктурами
~ Кадры в ИТ, построение команд, взаимодействие и контроль
~ Интернет, соцсети и мобильные технологии для бизнеса, IoT и бизнес
~ Информационная безопасность и сертификация
~ Бизнес-аналитика (Business Intelligence) и пр.
🔗 Программа: https://goo.gl/3bTNc3
#business#BusinessIntelligence#CloudTechnologies#security#InternetOfThings#IoT#Самара
Property Market Thrives on Digital Platforms
📊 A study by РЭУ im. G.V. Plekhanov reveals a surge in property transactions via Циан, with nearly 500,000 families improving their housing conditions in 2024. Digital platforms are revolutionizing real estate, streamlining deals, and saving users time and money. Циан's valuation service received 14.8 million unique requests in 2024 alone. The company's IT sector now accounts for 54% of its revenue, reflecting a 171% increase since 2019.
🔗Read more
#RealEstate#Циан#MarketTrends#DigitalTransformation#HousingMarket#PropertyTech#Investment#TechInnovation#RevenueGrowth#UserExperience#CostSavings#Efficiency#BusinessIntelligence#RealEstateTech#DigitalPlatforms#DataAnalysis#MarketResearch#2024Trends#Technology#PropertyEvaluation