Использование 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
👷♂️Birovning shifti biron joyga qulab tushdi degan voqeani eshitib asabiylashasizmi? Tinch uxlash uchun qanday qurilish materiallaridan foydalanishni bilasizmi?
😊Agar bilsangiz – barakalla. Bilmasangiz, biz sizga yordam beramiz.
☝️KNAUF- PROFIL SHIFT 60x27 osma shiftlarning sinchlarini shakllantirish uchun hamda KNAUF yuzali qoplamalari uchun qo‘llaniladi. Bizning maxsulotlarimiz ana shunday unifikasiyalashgan 👌
Po‘lat qalinligi 0,6 mm bo‘lib, u konstruksiyani mustahkam qiladi hamda burama mixlarning profilda ushlanib qolishini ta'minlaydi.
❓“0,4 mmli profilga nima qilibdi, u arzonroqku, ko‘rinishi ham odatdagiday?” – deb so‘rashingiz mumkin.
““Yupqa” profildan yig’ilgan, mahkamlagichlari qimirlab yotgan sinch, hayotingiz uchun haqiqiy xafv tug‘diradi” – deb javob beramiz.
👉KNAUF-PROFILLAR Texnik Shartlar talablariga muvofiq bo’lib, rux bilan qoplangani tufayli zangdan himoyalangan va aniq geometrik shaklga ega.
Uni ishlatsangiz, kuchshiz sinch haqida va KNAUF-qoplamalarining ulanish joylaridagi yoriqlar haqida unutasiz.
Sifatli maxsulotalarni ishlating.
KNAUF maxsulotalarini ishlating.
❗️Narxi:
KNAUF-Profil shift 3000x60x27x06mm – 8 717 so‘m/p.m.
Brutto-narxi QQS bilan ko‘rsatilgan.
2020 yil 31 dekabrgacha amal qiladi.
- - - - -
👷♂️А Вы начинаете нервничать, услышав очередную историю о том, что у кого-то где-то обрушился потолок? Вы знаете, какой материал использовать, чтобы спать спокойно?
😊Если знаете – молодцы. Если нет, мы подскажем.
☝️КНАУФ-ПРОФИЛЬ ПОТОЛОЧНЫЙ 60х27 применяется для формирования каркаса подвесных потолков. И для облицовок КНАУФ. Вот такие вот у нас унифицированные продукты👌
Толщина стали в 0,6 мм, влияет на прочность конструкции, а так же обеспечивает надёжное удержание шурупа в профиле.
❓«А что не так с профилем 0,4 мм, и дешевле, и на вид такой же?» – спросите вы.
Мы ответим: «Хлипкий каркас с болтающимися крепежами,собранный из «тонких» профилей, создаёт реальную угрозу вашей жизни».
👉КНАУФ-ПРОФИЛИ соответствуют ТУ, защищены от коррозии благодаря цинковому покрытию, имеют четкую геометрию.
Используя его, вы забудете, как о «еле дышащем» каркасе, так и трещинах на стыках КНАУФ-листов.
Используйте качественные материалы.
Используйте КНАУФ.
❗️Цена:
КНАУФ-Профиль потолочный 3000х60х27х06мм 8 717сум/п.м.
Указана брутто-цена с учётом НДС.
Действительна до 31.12.2020 г.
Сайт|Facebook|Instagram
#knaufuzbekistan#profil
👷♂️KNAUF profillarini uzaytirgich bu - o'rnatish ishlarini ham tezlashtiradigan, ham soddalashtiradigan betakror aksessuar.
☝️Qolib ketgan profillarni ulash va ishlatilish uchun qo'llashga imkon beradi.
👌KNAUF PSh 60x27 profillarini ulashda osma shiftlar sinchlarining yaxlitligini saqlaydi.
Texnik xususiyatlari:
Po'lat qalinligi 0,5 mm
100 donadan qadoqlangan.
❗️Shiftlaringizning ishonchli ekanligiga amin bo'ling, to'g'ri jamlovchi mahsulotlardan foydalaning.
KNAUF-dan foydalaning.
- - - - -
👷♂️Удлинитель профилей КНАУФ является незаменимым аксессуаром ускоряющим и упрощающим монтажные работы в разы.
☝️Позволяет применять остатки профилей для их соединения и использования.
👌Сохраняет в целостности каркасы подвесных потолков при соединении КНАУФ-профилей ПП 60х27.
Технические характеристики:
Толщина стали 0,5 мм
Упакован по 100 шт.
❗️Будьте уверены в надежности своих потолков, используйте правильные комплектующие.
Используйте КНАУФ.
Сайт|Facebook|Instagram
#knaufuzbekistan#profil
👷♀️Foydalanish paytida KNAUF pardevorlarining burchaklari va qirralarini himoya qilish uchun KNAUF burchakni himoyalovchi profilidan foydalaning.
Aralashmani (suvoq) konstruksiyaning burchagiga surtish profilning sirtga mahkam yopishishini taʼminlaydi.👌
Texnik xususiyatlari
BH 35/35 kesimi: 35x35 mm;
uzunligi: 3000 mm;
Sifatli materiallardan foydalaning.
KNAUFʼdan foydalaning.
- - - - -
👷♀️Чтобы защитить проёмы и торцы КНАУФ-перегородок во время эксплуатации используйте КНАУФ-профиль углозащитный.
Нанесение раствора (штукатурка) на угол конструкции обеспечивает прочное сцепление профиля с поверхностью.👌
Технические характеристики
Сечение ПУ 35/35: 35x35 мм;
длина: 3000 мм
#knaufuzbekistan#profil#rotband
Mansarda imoratlari – bu shunchaki boloxona emas, balki shinam xonadir.
Uni nima bilan qoplash mumkin?
KNAUF-Sapfir – maqbul yechim!
Nega?
Batafsil: https://knauf.uz/qr/UWJFScWz
- - - - -
Мансардное помещение – это не просто чердак, а уютная жилая комната.
Но чем же ее обшить?
Идеальным решением станет КНАУФ-Сапфир!
Почему?
Подробнее: https://knauf.uz/qr/UWJFScWz
YouTube
Instagram
Telegram
#knaufuzbekistan
#sapfir
#profil
Mansarda imoratlari – bu shunchaki boloxona emas, balki shinam xonadir.
Uni nima bilan qoplash mumkin?
KNAUF-Sapfir – maqbul yechim!
Nega?
Batafsil: https://knauf.uz/qr/UWJFScWz
- - - - -
Мансардное помещение – это не просто чердак, а уютная жилая комната.
Но чем же ее обшить?
Идеальным решением станет КНАУФ-Сапфир!
Почему?
Подробнее: https://knauf.uz/qr/UWJFScWz
YouTube
Instagram
Telegram
#knaufuzbekistan
#sapfir
#profil