Использование 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
Ура! Последнее окошко!
✨SODA Глиттер гель для лица и тела #bizarreshine
POV: Они любили сиять💎
За что любим больше всего: глиттер для лица, для тела, для души… Идеален для новогодней вечеринки, и в общем-то любой другой?.. 🪩
Можно прикладывать к чатам с мальчиками, которые не отвечают — говорят, тоже помогает 👻
Идеальный подарок для тех, кто точно знает, что они звезды, и хотят чтобы всем остальным это тоже было очевидно 💅🏻
#sodalab
Вдохновение этого понедельника — абсолютно волшебная Грейс Элизабет на обложке Vogue Spain
💕 Воссоздаем образ русалки с помощью палетки Kawaii #mangaeyes и любимых голографических блесток #bizarreshine (а еще есть вот такие классные заколки с русалочьим вайбом)🪄
#sodainspiration#sodalovespopculture
Смотрим на повторе Lavender haze — новый клип нашей любимой Блонди, Тейлор 💜
И только один вопрос не дает покоя… Как много глиттера #bizarreshine и матовой помады #matteaboutyou ушло бы на создание этих образов? 😭 Спрашиваем для подружки… 👉👈
#sodalovespopculture#sodalovestaylorswift
Помните наш разбор образа Су, персонажа Цветка из огня Тиамат? Сегодня — наша версия макияжа Никкаль, главной героини этой истории!
Центральная тема, которую мы бы хотели обыграть в образе Никкаль, это стихия огня ❤🔥 Так, наш выбор пал на палетку теней Under the sea — в ней большой выбор красных и комплиментарных оттенков!
Для создания драматичного акцента нам понадобится цветная тушь для ресниц Unicorn mascara в оттенке 103 Lady in red ⚡ и классическая жидкая подводка #guyliner в оттенке 001 Kurt 🪄
Ну и как же без сияния? 👻 Возьмем глиттер гель для лица и тела #bizarreshine, оттенок 001 Virgo✨А в уголки глаз нанесем жидкие тени для век #showyourself 001 Snow queen ❄ Завершающим штрихом образа будет ожерелье с бабочкой #sugargem🦋 — вполне в стиле Никкаль ❤
#sodalovesgames
Мы уже разобрали образ Андреа из Ярости титанов, а сегодня — наша версия макияжа Хизер, богини красоты и любви ❤
Нам понадобится палетка теней сразу с несколькими сочными розовыми оттенками — Galaxy cake 001 Pink cake 🧁 Они подчеркнут зеленые глаза Хизер и будут красиво перекликаться с розовыми волосами героини. Для лица возьмем нежные румяна в стике #dabitonyourface, а для губ — бальзам-кристалл #mermaidlips в оттенке 004 Cherry love 🍒
Самое романтичное сочетание? 🤔 Розовый и блестки!💘 Как, например, комбо жидкой подводки для глаз с блёстками 103 Keith и глиттер геля для лица и тела #bizarreshine 002 Leo. То, что нужно для волшебного сияния ✨
А если чувствуешь, будто не хватает какого-то милого акцента, то поставь печатку маркером для глаз в форме сердца #makeitpop❤
#sodalovesgames
Романтики, кто играл в "По тонкому льду"? Сегодня воссоздаем макияж Кэтрин ⛸ Наша героиня — фигуристка, а значит ее макияж для выступлений будет заметным. Сияющий смоки и никаких нюдов! 🍒
Начнем с драматичного макияжа глаз 😼 Глубокие синие и фиолетовые оттенки возьмем из палетки теней Some things never change #showyourself (как и шиммеры тех же оттенков), а глаза подведем карандашом #eyeloveunicorns в оттенке 001 Black heart ❤
Добавим звездного сияния с помощью глиттер-геля для лица и тела #bizarreshine, в оттенке 002 Leo 🪄 Его можно нанести не только в уголки глаз, но и на ключицы ✨
На картинке у Кэтрин явно сделан контуринг. Его нам поможет создать палетка для лица Coffee magic 001 #coffeetime☕ А завершим образ ярким, но неброским блеском для губ #wegotyoubabe в оттенке 006 Nudie Cutie 🌸
#sodalovesgames
RED♥️
Магнум опус Тейлор и самый осенний альбом 🍁 Поэтому выбираем палетку нюдовых, коричневых оттенков (Game over 002 Dream team) для нежной базы, а драму устроим с помощью черного макера для глаз #makeitpop и традиционной красной помады Тей Тей (мы возьмем #checkmatte 006 Maple syrup — напоминает тот самый 🧣 из All too well). Печатка в форме сердечка 🖤 немного Electra Heart Марины, но по вайбу подходит идеально ⚡
1989📸
📸 Нью-Йорк, Гарри Стайлз, girl squad... Это эра свободы в большом городе, приключений, жизни на полную катушку! Нужна яркая палетка в цветах эры (голубой/синий) — например, Sugoi #mangaeyes, обязательно глиттер #bizarreshine и космическое сияние хайлайтера в стике. Без красных губ никуда, но в этой эре возьмем более легкую текстуру — тинт на водной основе #cheekylips🍓 И мятный лак для более нежных образов 🍭
#sodalovespopculture#sodalovestaylorswift
Уже завтра выйдет новый альбом Тейлор Свифт Midnights 🕛⚡️
В ожидании и нетерпении, мы сделали подборку из фотосессий для Vogue, Harper’s Bazaar и официального промо в ретро эстетике нового альбома 🖤
Хочешь повторить эти образы? Сохраняй последнее фото — на нём всё, что тебе понадобится:
⭐️ Палетка Some things never change #showyourself — темно-синие и темно-зеленые, бежево-коричневые, сияющие цвета… ух! Сделают любой образ с фото гораздо глубже и интереснее!
⭐️ Тени для век Unicorn squad #unicornluv — для насыщенного, драматичного глэма 👄
⭐️ Карандаш для глаз #eyeloveunicorns — идеален для растушёвки и “смоки” эффекта
⭐️ Подводка-маркер для глаз #makeitpop — создаем крутые стрелки 😻
⭐️ Накладные ресницы с эффектом кукольного взгляда #dollyeyes — совсем как у Тейлор
⭐️ Глиттер гель #bizarreshine и жидкие тени #showyourself — ведь в Midnights эру мы все хотим сиять как Mirrorball 🪩
#sodalovespopculture#sodalovestaylorswift
В четверг свифти вышли из своей клоунской эры (по возможности) — и вошли в 1989 (Taylor's Version) эру 💅
Что же нам в ней понадобится? Пройдемся по базе:
📸 Синий, голубой — цвета эры, поэтому палетка Sugoi #mangaeyes — самое то!
📸 Red lip classic, которая так нравится Гарри Стайлзу 💋 Помада #checkmatte в оттенке 010 Death after noon
📸 Голубой глиттер гель #bizarreshine🌈
📸 Хайлайтер в стике #mermaidsforever для сияния как у поп-звезды ⭐
📸 Карандаш для глаз #eyeloveunicorns, чтобы нарисовать cat eye sharp enough to kill a man 🔪
📸 Бомбочка для ванны Coconut gem, потому что когда несешь на себе музыкальную индустрию, то надо и отдыхать
📸 Сияющий парфюм-кошка Vanilla Neko 🐾
📸 Лак для ногтей #starryglow 001 Moon 🪄
Делаем браслеты дружбы, макияжи в стиле эры и ждем 1989 TV 🥰
#sodalovestaylorswift#sodalovespopculture
It’s a cruel summer… with you🩷
Мы уже подобрали продукты к первым пяти эрам Тейлор здесь и здесь, а сегодня разберем оставшиеся пять! Итак, эры Тейлор (SODA's Version) 🌸
Reputation 🐍
Are you ready for it? Дерзкая, мне-все-равно-что-вы-обо-мне-думаете эра! Продукты эры: сатиновая помада в стике #talkofthetown в темном оттенке 005 Sweet cherry 🍒, жидкие тени #eyeloveyou в смелом оттенке getaway car 002 Fairy glow и много-много сияния с глиттером #bizarreshine и лаком для ногтей #starryglow 006 Aurora ⭐ А завершить образ можно черными сережками-молниями #sugargem⚡
Lover 💕
Самая милая, счастливая и влюбленная эра Тей — и все мы мечтаем однажды в ней оказаться 😭 Цвета соответствуют: пастельные, яркие, сияющие ✨ Продукты эры: палетка с критическим содержанием шиммера Galaxy cake 002 Blue cake, розовый глиттер #bizarreshine, розовый штампик-сердечко #makeitpop и те самые духи-кошка с их сладким ароматом и блестками 🐾 Аксессуары тоже кричат о любви — серьги heart in fire pink и набор колец pink 💘
#sodalovespopculture#sodalovestaylorswift