Использование 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
Должны признаться..
Тизеры пятого мини альбома aespa 'Whiplash' кое-что нам напомнили
🫠
О том, насколько же помада MISCHIEF IN PROGRESS #cuteadventure крутая
😈
Недавно Supernova ворвалась с разбега в наш плейлист, теперь ждем следующий релиз и повторяем slay-образы девочек
😌
💕
#sodaloveskpop
Кажется, мы все недостаточно говорим о том, какая же Хо Юнджин роскошная 😔🌹
🖤
Новый альбом уже вот-вот выйдет, а пока ждем, держите подборку, вдохновленную нашей рыжеволосой любимкой из Le Sserafim 💅 Подобрали продукты к каждому образу
👍
#sodaloveskpop
Чимтябрь прошел, а булочки все не кончаются.. в нашей пекарне пополнение! ❤
Что объединяет Соду и Ли Тэмина? Сладкие снаружи, но не такие уж простые внутри✨
А еще с Тэмином (как и со сладким) невозможно остановиться… поэтому чекнув камбэк с Guilty мы не могли остановиться и окунулись в другие не менее любимые релизы и подобрали к ним продукты!
✨ Заметили парочку новинок? 👀
На десерт конечно же кошочки – Taemin & Kkoong 😠🐱
#sodaloveskpop
“Oh yeah know the healing will take time
Start dealing with it now”
🎶
Тяжелый день на работе? С кем-то поссорились? А может, вы сейчас сдаете экзамены?
🫶 Мы всегда рядом, всегда тут, готовы комфортить вас!
Хотим познакомить вас с одной из самых «исцеляющих» групп в нашем плейлисте – The Rose
🌷
Ребята недавно вернулись с альбомом Heal, который не раз помогал нам в трудные моменты
Давайте сегодня вечером наберем ванну! +100 к хилу, если добавить к процессу одну из наших новых бомбочек для ванны, а еще патчи с колой под глаза, повязку с кошечкой на голову (потому что вы наши любимые кошочки!), увлажняющую масочку на лицо, марафон The Rose на фоне
Закрываем глаза – healing ❤️🩹
Позвольте себе отдохнуть, вы заслужили это!
🛀
#sodaloveskpop
“Let me tell you ’bout LE SSERAFIM”
😈
Фирнот тут? 👀
Наши любимые фиммис недавно выпустили свой первый полноформатный альбом UNFORGIVEN!
🎧 Уже успели послушать? Что понравилось больше всего?
А что, если к каждой песне подобрать продукт от соды?
👀
Выбирайте песню и рассказывайте, что вам попалось!
#sodaloveskpop
🌛
✨
✨Сложно описать весь спектр эмоций, который мы испытали, увидев новый концепт TXT…
Но потом вышел альбом и мы вообще отъехали…
🌟
🌸
✨
#sodaloveskpop
Поздравляем Дженни с днем рождения и любуемся ее новой обложкой Vogue Корея 💗
Только нам кажется, что розовые румяна/тени в ее образе подозрительно напоминают палетку для лица We share the earth? 👀
#sodaloveskpop
❤️ Вы же уже слышали нашумевший хит Love Dive от Ive?
Песня, не выходившая из головы миллионов слушателей, раскрывает, как незабываемы чувства, когда только погружаешься в омут влюбленности 💘
А мы влюблены в новый фейсчарт по этой песне!
Кстати, вы можете написать свои варианты песен, для которых мы можем сделать макияж!
Вдруг следующей будет именно ваша любимая песня… 👐
#sodaloveskpop
Сезон снежинок на щеках, белых ресниц и румяных щечек уже на пороге ❄️❄️❄️
🥶 Звучит как отличный повод вдохновляться Freeze эрой TXT и расчехлять коллекцию Soda x Frozen ll, не так ли?)
#sodaloveskpop
💗
🌛💫
💕
💜
🔥💞
💞
⭐️
🌸
pov: ты вернулась с тусовки и твой вечерний фул глэм всю ночь растекается по подушке..
❓Появилось чувство дежавю? Для чистой и здоровой кожи не забывайте тщательно смывать свои шедевры перед сном!
❤️
#sodamemes#sodaloveskpop
💅🏻
😊🫦🥂
💋
🥰
🤣
⏳
💃
👑😘
Как мы выходим из бутика соды, не удержавшись и скупив все 6 новых палеток за раз…
Well, а кто запретит, когда у тебя queen card? 😏
#sodaloveskpop#sodamemes