Использование 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
#live#Seoul#TITF#SITF
😃TXTY-2023: Seulda SITF-2023 xalqaro yarmarkasi doirasida TXTY-2023 ko‘rgazma maydonlarining faol sotuvi amalga oshirilmoqda
📷Fotoreportaj
😃ТМТЯ-2023: Проходит активная продажа выставочных площадей ТМТЯ-2023 в рамках международной ярмарки туризма SITF-2023 в Сеуле
📷Фотоотчет
😃TITF-2023: Active sale of TITF-2023 exhibition venues take place within the framework of the international tourism fair SITF-2023 in Seoul
📷Photo report
🌍TITF
✅Telegram
📸Instagram
💬Facebook
Привеееет привет, дорогие!! 🤗
Ох, как долго я не выкладывала новые посты, но за это время я приготовила несколько вкусных корейских блюд, засняла их и скоро выложу для Вас рецепты))
А сегодня я хочу рассказать Вам о Lotte World Tower ☝🏼
Будучи современным символом Сеула, Lotte World Tower интересно переплетается с корейской кухней и культурой, хоть и не так очевидно, как исторические достопримечательности. Башня настолько высокая, что ее хорошо видно с разных уголков Сеула ☝🏼
Расскажу несколько интересных фактов.
Гастрономический рай: Внутри Lotte World Tower расположено множество ресторанов, представляющих как традиционную корейскую кухню, так и современные гастрономические тренды. От изысканного ханджонсик (традиционный корейский обед из множества блюд) до уличной еды, башня предлагает посетителям полное погружение в кулинарное разнообразие Кореи.
Культурные мероприятия и выставки:
В Lotte World Tower часто проводятся различные культурные мероприятия, выставки и фестивали, посвященные корейским традициям, искусству и истории.
Архитектура и дизайн с корейскими мотивами:
Хотя дизайн башни в целом современный, в нем можно найти и отсылки к корейской культуре. Например, форма башни - вдохновленная керамикой и каллиграфией.
Шопинг - часть корейской культуры:
Вы знали, что Юж. корейцы жуткие шопоголики?)) 🛒🛍️🧾
Lotte World Mall, примыкающий к башне, является одним из крупнейших торговых центров в Корее и предлагает огромный выбор товаров, включая продукцию корейских дизайнеров и брендов.
Место встречи и общения: Lotte World Tower стала популярным местом встреч и общения как для местных жителей, так и для туристов.
Хотя Lotte World Tower – это ультрасовременное здание, оно старается гармонично вписываться в культурный контекст Кореи, предлагая посетителям уникальную возможность познакомиться с разными гранями этой страны.
Если Вы ещё не были в Корее, обязательно посетите эту страну утренней свежести 🇰🇷
#Korea#seoul#lotte_world_tower#lotte#kim_chi_kim
Сеул это город контрастов, невероятно огромной энергии и масштабными политическими мероприятиями
Я приехала сюда не только любоваться архитектурой и есть корейское морожено (хотя и это тоже), но и чтобы оказаться ближе к мировому академическому сообществу.
Сейчас сижу в одном из местных кафе и погрузившись в атмосферу, захотелось поделиться чем всё-таки отличается ISA от IPSA?
🔹ISA (International Studies Association) — больше про международные отношения, конфликты, глобальные процессы.
🔹IPSA (International Political Science Association) — охватывает всю политологию: от политических теорий до выборов и институтов.
Обе ассоциации играют важную роль в формировании современной науки. А Сеул — идеальное место, чтобы об этом размышлять: живой, умный, и при этом очень красивый город.
Выкладываю видео, чтобы вы тоже прочувствовали атмосферу.
#Seoul#ISA#IPSA#академтуризм#политология#fieldnotes
Секрет вкусного Кимпаб!
Привет-Привет, дорогие 🤲🏽
Спешу выложить вкусный рецепт КИМПАБ с тофу/тунцом/индейкой!
Раскрываю Секрет!! 🤫👀🤫
Независимо от того, какую основную начинку Вы выберете (мясо, птицу, рыбу, краб, креветки и тд…) КИМПАБ получится вкусным ЕСЛИ👇🏽
Правильно приготовить и заправить рис ☝🏼
Если переварите рис 🍚 начинка Кимпаб получится жидкой, если не доварите рис 🍚 кимпаб получится сухим 😖
Поэтому можете экспериментировать с любой начинкой, главное отварите и заправьте правильно 🍚
Пошаговый рецепт приготовления кимпаб можете посмотреть в ролике и здесь 👇🏽👇🏽
https://t.me/kim_chi_kim/39
А как правильно приготовить рис, выложу в следующих постах 📝
Приятного аппетита 😋
#kim_chi_kim#Seoul#korea#вкусно#быстро#рецепты#kimpub#streetfood
⭐️ ОПУБЛИКОВАНЫ СПИСКИ участников культурных курсов
🥁 "Самульнори" 🎤 "Норебан"💃 "Муёнбан" 🕺 "К-рор" 🥋 Тхэквондо
❗️ Напоминаем, что согласно условиям, опубликованным на нашем сайте, заявки принимались только от учащихся (платных курсов) Школы текущего семестра.
🌐 Ознакомиться со списками можно на сайте (по каждому курсу отдельно): в разделе <Учебные и культурные курсы>
✅ Занятия начинаются уже на этой неделе
⛔️ Посещать занятия могут только учащиеся из списков.
📨 Участникам курсов были направлены письма на эл.почту, просьба ознакомиться.
#корея#сеул#корейскийязык#корейский#korea#seoul#kpop#bts
The first HACK-A-TON by The Open Network (TON) in South Korea has just started! 🔥
Super excited to be one of their main sponsors 🚀🫡
Pop by to meet up with us, or any rep from BoomLabs, Ozys, and TAV (The Open Network, Alphanonce, VistaLabs).
Address: B1, 126, Teheran-ro, Gangnam-gu, Seoul, Republic of Korea
주소: 서울 강남구 테헤란로 126 B1 수호아이오
KR page: https://lnkd.in/g9e-eDtb
EN page: https://lnkd.in/gpsPXMWG
#dwf#TheOpenNetwork#TON#Telegram#Hackathon#Seoul#Boomlabs#Ozys#TAV#Alphanonce#Vistalabs
📢 ЛЕТНИЕ КУРСЫ подготовки к тестированию TOPIK
🇰🇷 В нашем центре, в летний период будут открыты группы подготовки к сдаче тестирования TOPIK (I и II уровня). Это связано с тем, что этим летом - 10 июля, в Санкт-Петербурге пройдет сдача экзамена TOPIK.
✅ Будут открыты две группы:
1. Подготовка к тестированию TOPIK I (1-2 гып)
2. Подготовка к тестированию TOPIK II (3-6 гып)
💥 Условия обучения
- Онлайн формат обучения (через ZOOM)
- 8 недель обучения - с 14 мая по 02 июля
- Расписание: суббота с 13:00 до 14:40
- Стоимость: 8 000 рублей.
📍Условия поступления:
- Заявки будут рассматривать только после того, как их количество составит 10 и более;
- Поступить на курсы может любой желающий;
- Оплата производится после одобрения заявки, через платформу Дзен-класс;
- Прием заявок и оплаты СТРОГО до 12.05.2022.
🌐 Ссылки для подачи заявки опубликованы на нашем сайте: http://www.wonkwang.ru/receipt
❗ ВНИМАНИЕ
- Наш учебный центр не проводит экзамен TOPIK;
- Всю информацию по проведению тестирования TOPIK уточняйте в посольстве Республики Корея;
- Учебный центр не консультирует по вопросам подачи заявок на тестирование.
#корейскийязык#корея#школа#языки#лингвистика#хочувкорею#сеул#учукорейский#kpop#bts#exo#blackpink#korea#korean#seoul#topik