Использование 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
СПАСИБО, ЧТО ПРОЖИЛИ ЭТУ ИСТОРИЮ ВМЕСТЕ С НАМИ 🔥🌍
«Первобытный инстинкт» остался в прошлом, но энергия до сих пор гуляет по чатам, сторис и сердцам. 300 человек. Полный зал. И море эмоций, которые мы не забудем.
Спасибо каждому, кто танцевал, кто боялся, кто охотился за битом и кто остался до финального аккорда наследия.
ФОТООТЧЕТ УЖЕ ГОТОВ 📸
https://ktitov.wfolio.pro/disk/18-04-2026-cabassa-den-rozhdeniya-18-04
А МЫ НЕ ОСТАНАВЛИВАЕМСЯ.
Уже 30 МАЯ запускаем новую главу.
Её название — «РИТУАЛЫ».
Это будет другая энергия. Другой свет. Другая глубина.
Готовьтесь.
Скоро расскажем всё.
До встречи в новом ритуале. 🖤
#Wakanda
СЕГОДНЯ. ДЕНЬ Х. WAKANDA. 🔥
18 апреля. Santa Barbara. 23:00.
Входная дверь — это портал в страну, где правят ритм и инстинкты.
Что тебя ждёт внутри:
🔺 3 инстинкта — Страх, Охота, Наследие. История, которую расскажут Oleg Milov, Cabassa и Etal.
✨ Живые африканские барабаны — ритм, который чувствуешь каждой клеткой.
🔺 Танцоры Wakanda — визуальная магия.
✨Фотозона — сохрани этот вечер.
🔺 Live vocal Cabassa x Kniagna — презентация нового трека.
💥DJ Support: John Candy, Nedisco, Bondisco, Max Stamp, Dangelovs — ритм не остановится ни на секунду.
🎫 Билеты на входе дороже.
🔥 Первые 30 гостей — WELCOME-ДРИНК в подарок!
💰 Цены сегодня:
• До 00:00 — 1300₽
• После 00:00 — 1500₽
https://wakanda.art
⚠️ Happy Birthday Early Bird уже закончился. Промокоды не действуют.
Ты не будешь зрителем. Ты станешь частью истории Ваканды.
Страх. Охота. Наследие. Одна ночь. Твоя история.
Ждём тебя. 🖤🔥
#Wakanda
⏳ ОСТАЛОСЬ ВСЕГО 2 ЧАСА!
Промокод INSTINCT (скидка 50%) перестанет работать через 120 минут.
Happy Birthday Early Bird — тоже улетит навсегда.
🎁 Твой последний шанс:
👉 Переходи на сайт: https://wakanda.art
👉 Вводи промокод INSTINCT
👉 Забирай билет за полцены
18 апреля. Santa Barbara. День рождения Cabassa.
Ты или внутри, или снаружи.
#Wakanda
Santa Barbara помнит наши ритмы.
18 апреля мы возвращаемся, чтобы написать новую главу. Будет жарко. Будет дико.
Будет Wakanda
https://wakanda.art/
#wakanda
ВАЖНАЯ НОВОСТЬ ДЛЯ ВСЕХ, КТО С НАМИ 🔥🌍
Мы строим страну Ваканда не только на танцполе, но и в цифровом пространстве.
Теперь у нас есть САЙТ.
Место, где ты можешь узнать всё о наших вечеринках, купить билет, погрузиться в атмосферу до того, как войдёшь в зал.
👉https://wakanda.art/
А ГЛАВНОЕ СОБЫТИЕ УЖЕ БЛИЗКО:
📅 18 апреля — возвращаемся в Santa Barbara, чтобы отпраздновать ДЕНЬ РОЖДЕНИЯ ОСНОВАТЕЛЯ WAKANDA — CABASSA.
🎫 ЗАВТРА — СТАРТ ПРОДАЖ БИЛЕТОВ.
Первые 50 билетов — HAPPY BIRTHDAY EARLY BIRD по специальной цене.
Сайт уже готов. История ждёт.
Ты с нами?
#Wakanda
2 ДНЯ ДО WAKANDA! 🔥⚡
Листаем архив и вспоминаем, как это было. А теперь представьте: в субботу всё это оживёт снова. Но уже в Secret Room — там, где всё начиналось. ✨
🎥 Смотрите видео и ловите тот самый вайб.
Мы — Wakanda.
Мы — идея.
Мы — культура. 🖤
🥁 Живые африканские барабаны
🎧 TWIST SOUND (Moscow)
💃 Особое шоу
🎵 Все резиденты Wakanda
📍 21 марта | Secrets Night Room | Полтавская, 7
⚠️ ПОСЛЕДНИЕ БИЛЕТЫ ДО ПОВЫШЕНИЯ!
В пятницу цена вырастет. Успевайте забрать сейчас 👇
🎫https://spb.qtickets.events/220940-the-return
Кто на видео — тот знает. Кто ещё не был — узнает в субботу.
#Wakanda
Самый нежный праздник уже близко! 🌷
Дарите тепло, получайте эмоции. А мы дарим вам весеннюю скидку на самую ожидаемую вечеринку весны.
🌸 ПРОМОКОД: WAKANDA
🌸 Дарит приятный бонус на билеты
🌸 Действует с 6 по 8 марта включительно
---
🎫 WAKANDA: THE RETURN
📍 Secrets Night Room
📅 21 марта | 23:00
🥁 Живые барабаны | TWIST SOUND (Moscow) | Резиденты Wakanda
Это не просто вечеринка. Это — возвращение туда, где всё начиналось.
➡️ Билеты по ссылке: https://spb.qtickets.events/220940-the-return
Активируйте промокод WAKANDA при покупке и забирайте свой бонус.
Порадуйте себя и близких. Весна начинается с ритма. 💫
#Wakanda
Барабаны просыпаются
👂Слышите?
Это бьётся сердце Wakanda. Оно всегда было здесь, просто ждало своего часа.
21 марта. Secret Room. Возвращение.
#wakanda