TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #397 · 12 ное.

Использование 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

Резултати

Пронајдени 2 слични објави

Пребарај: #fidostudio

当前筛选 #fidostudio清除筛选
Fido Studio

@fidostudio · Post #118 · 02.05.2025 г., 10:52

Baku Salom! Ayni paytda Ozarbayjonda o‘tkazilayotgan Baku Flames – International Festival of Creativity and Effectiveness festivalida ishtirok etyapmiz. Bu festival birinchi yil o‘tkazilmoqda va kreativlik hamda samaradorlikka bag‘ishlangan. Fido Studio nomidan ikkita loyiha bilan qatnashyapmiz: • Jahongashta — sayohat ixlosmandlari uchun mo‘ljallangan raqamli jamoa platformasi. Bu yerda sayohatchilar bir-biri bilan tajriba almashadi va ilhom topadi. • Trastpay — yangi raqamli bank ilovasi bo‘lib, foydalanuvchilarga moliyaviy xizmatlardan qulay va zamonaviy tarzda foydalanish imkonini beradi. Bunday xalqaro maydonda loyihalarimizni namoyish etish biz uchun katta sharaf va yangi ilhom manbai! #BakuFlames#FidoStudio

Fido Studio

@fidostudio · Post #66 · 30.04.2024 г., 14:55

Fido Studio O'zbekistonda birinchi bo'lib Wix kompaniyasining rasmiy Legend darajasi Sertifikatini qo'lga kiritdi. Ushbu Serifikat Wix platformasi orqali 50dan ortiq web saytlar tayyorlagan hamkorlarga beriladi. Hozirda Xalqaro miqyosida sanoqli kompaniyalardagina ushbu unvon bor. ✅Legend darajasibilan endilikda biz ✅7/24 qo'llab quvvatlash ✅Leadlarni to'g'ridan to'g'ri qabul qilish ✅Alohida manager ✅Sotuvlarni oshirish ✅Marketing instrumentlar kabi imkoniyatlardan erkin foydalanishimiz va sizning web saytingiz optimizatsiyasida foydalanishimiz mumkin. @fidostudio #FidoStudio#Wix