Использование 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
Дорогие наши #pupalovers!
Пусть Новый год будет таким же ярким, как тени Vamp! Extreme, таким же стойким, как наша тушь Vamp! Mascara Lash Extender, и таким же ослепительным, как хайлайтер Wonder Me Glow 🌟
Желаем, чтобы каждый день 2026 года был наполнен магией, смелыми экспериментами и бесконечным сиянием.
Загадывайте самые смелые желания — и пусть они сбываются с помощью волшебной кисти!
С любовью, ваша PUPA MILANO ❤️ С Наступающим!
В Москве состоялось вручение наград премииЯПокупаю Beauty 2025.
Наградыполучили лучшие косметические средства, которые выбрали читатели, эксперты и редакция.
В категории Лучшее Тональное средство по версии читателей победу одержал Крем-флюид Wonder Me Nude PUPA Milano.
О ПОБЕДИТЕЛЕ 🏆
Тон-флюид Wonder Me Nude обладает легкой и невесомой текстурой, создавая эффект второй кожи, невидимый и неощутимый. Поры и несовершенства мгновенно уменьшаются, рельеф кожи становится более выровненным и гладким.
Мы благодарны всем #pupalovers за доверие, выбор и голоса! ❤️❤️❤️
НАША С ВАМИ ПОБЕДА 🏆
Завершилась премияЯПокупаю Beauty 2025: косметика, которую выбрали читатели, эксперты и редакция.
В категории Лучшее Тональное средство по версии читателей победу одержал Крем-флюид Wonder Me Nude PUPA Milano.
Мы благодарны всем #pupalovers за доверие, выбор и голоса! ❤️❤️❤️
Еще одна гостья девичника в рамках премии VOICE INFLUENCER AWARDS💔
Выбор Анны Седаковой — пудра Wonder Me и карандаши для губ True Lips от PUPA MILANO. Спасибо за доверие!
А выбор алого платья разбил сердца всех #pupalovers❤️🔥
Дорогие #pupalovers!
С Международным женским днем! В этот прекрасный весенний день мы от всего сердца поздравляем всех вас с праздником!
Мы в Pupa верим, что каждая женщина — это произведение искусства, и наша задача — помочь вам раскрыть вашу красоту и сияние!
Наша декоративная косметика создана с любовью и вниманием, чтобы подчеркнуть вашу утонченность и добавить ярких красок в каждый день. Будь то нежный нюд на работу или яркий вечерний образ — мы всегда рядом, чтобы поддержать вас в любом настроении и стремлении.
С любовью,
Команда Pupa Milano ❤️
Бьюти-завтрак в честь туши VAMP! LASH EXTENDER, которая собрала всех друзей бренда, истинных #pupalovers в ресторане Savva.
Давайте еще раз посмотрим, как это было.
Ставьте 💝💘💖💗💓💞💕, если вам понравилось!
БЬЮТИ-ЗАВТРАК PUPA MILANO 💖
На этой неделе в ресторане Savva состоялся бьюти-завтрак в кругу друзей бренда PUPA MILANO. Мы благодарим всех #pupalovers, которые были с нами в этот день!
Дресс-код мероприятия Touch of Fuchsia в честь нашей культовой туши VAMP! LASH EXTENDER, которая дарит3D удлинение и объем ресниц.
А вы знакомы с Vamp! Lash Extender?
Бархатный и роскошный… это итальянский Новый год с @pupamilanorussia!❤️
Посмотрите, какие великолепные подарочные наборы в вельветовых косметичках вышли у PUPA MILANO😍
И их так много разных! Можно выбрать идеальную комбинацию для себя или в подарок: любимый цвет, удобную модель сумочки, и главное - самые милые сердцу средства от PUPA MILANO!
Найти такие наборы можно в РИВ ГОШ:
❤️бордовая косметичка с тушью VAMP! LASH EXTENDER и подводкой лайнером VAMP! SKINNY LINER;
🩵небесно-голубая – с тушью VAMP! ALL IN ONE и MULTIPLAY карандашом для тройного использования: подводка – кайал – тени для век.
Наслаждайтесь шикарным и стильным итальянским Новым годом вместе с @pupamilanorussia
#pupamilanorussia#pupalovers
*реклама
Все ведь знают, что если не забывать защищать кожу от солнца даже в условиях города, то можно замедлить старение и улучшить качество кожи?
У Pupa вышла широкая солнцезащитная линейка с комфортными средствами для защиты от UVA и UVB лучей.
Мой фаворит — флюид Daily Defender с оттенком и без, о котором я подробнее рассказала в видео. Он заменяет мне базу под макияж или легкий тон на каждый день, и при этом дает необходимую защиту SPF 50.
А также самый удобный формат стика SPF 50, который легко закинуть даже в самую маленькую сумочку и обновлять защиту в течение дня.
Познакомиться с солнцезащитной линейкой @pupamilanorussia можно в РИВ ГОШ по ссылке☀️
#pupamilanorussia#pupalovers
Отпуск прошел, но про спф я еще не рассказывала, а обычно я именно в отпуске тестирую всякие новиночки ☀️
Так вот, в этот раз я взяла с собой почти всю линейку SPF от итальянского бренда @pupamilanorussia и, спойлер: не обгорела, довольно неплохо подзагорела (прям хорошо я не загораю никогда, я белокожая, но вот обгораю в 9 из 10 случаев, правда не в этот раз)
Что имею сказать:
Первое и самое главное — мне очень понравилось!!! От упаковки до запаха (он отвал всего), очень хорошая защита, намазаны были все: я, Пирог, Эля и все обошлись без ожогов 🤌🏻
Для лица я использовала крем Daily Defender и стиком обновляла в течение дня! Очень легкие текстуры, очень хорошо ложатся (крем супер даже под легкий макияж!), так что я планирую их же домазывать в городе этим летом ❤️
Для тела мы попробовали все — молочко с SPF 50, спрей SPF 50 (восторг!!!!!), крем SPF 30 и двухфазный спрей SPF 30 🦦
Без преувеличений, мы мазались прям всем и не было ни одного продукта, который бы не понравился. Но отдельно я конечно отмечу спрей, потому что использовать его максимально легко, защищает отлично, хватает надолго и он особенно полюбился ребенку, который ненавидит на себе ощущения кремов и не любит чем-то мазаться))
Но лично я спреем обычно обновлялась, а начинала день с чего-то более кремового, крема или молочка
На пляже классно использовать спрей — усилитель загара, это средство с технологией Melastim Tech для стимулирования выработки меланина, он не содержит SPF, но дополнительно удаляет морскую соль и предотвращает сухость, а после моря — молочко после солнца, которое также усиливает загар, но еще успокаивает и увлажняет кожу
Мне кажется на видео довольно наглядно видно, как от начала к концу я становилась все более шоколадная)))) и это всего лишь первые дня 4 🙃
В общем, я точно буду повторять эту линейку этим летом, и с огромным удовольствием советую попробовать вам, представлена она в РИВ ГОШ ❤️
Целую ваши плечи и надеюсь, этим летом они будут под надежной SPF защитой 💅
#pupamilanorussia#pupalovers