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 слични објави

Пребарај: #startupgarage

当前筛选 #startupgarage清除筛选
AloqaVentures

@AloqaVentures · Post #590 · 30.01.2025 г., 15:57

😃Startup Garage Qoraqalpogʻiston filiali ochilish marosimidan video reportaj. 🏠Mazkur loyiha Qoraqalpogʻiston Respublikasi, Nukus shahri, “AloqaBank” binosida joylashgan. 📍Manzil: 230100, Qoraqalpogʻiston Respublikasi, Nukus shahri, Islom Karimov koʻchasi 102-uy #AloqaBank#AloqaVentures#StartupGarage#Innovatsiya#Startup#Startaplar#Nukus 🌐Aloqa LIVE

AloqaVentures

@AloqaVentures · Post #530 · 16.01.2025 г., 08:40

🇺🇿Qashqadaryo startaplari uchun yangi imkoniyat 🚀Bugun, Qarshi shahrida Startup Garage loyihasining yangi filiali ochilish marosimi bo‘lib o‘tmoqda. Ushbu loyiha AloqaBank, AloqaVentures va Startup Garage tashabbusi bilan tashkil etilgan bo‘lib, mamlakatimizning barcha hududlarida, jumladan 12 ta viloyatda yosh tadbirkorlar va startaplarni qo‘llab-quvvatlashga yo‘naltirilgan. 🚀Startup Garage filiali ochilish marosimi ikki bosqichda o‘tkazilmoqda: ➡️ Marosimning birinchi qismi Qarshi shahridagi Yoshlar markazida bo‘lib o‘tmoqda. Bu yerda ishtirokchilar va mehmonlar mutaxassislar tomonidan startaplar va investitsiyalar haqida batafsil ma'lumotlarni olishdi. ➡️ Startup Garage ofisining ochilish marosimining ikkinchi qismi AloqaBank binosida joylashgan Startup Garage ofisida davom etadi. Ushbu ofis yangi startaplar uchun zarur infratuzilma, ishchi maydon va boshqa xizmatlarni taqdim etuvchi zamonaviy innovatsion markaz bo‘lib xizmat qiladi. Yangiliklar va tafsilotlarni kanalimizda kuzatib boring! Batafsil: Startup Garage #AloqaBank#AloqaVentures#StartupGarage#Innovatsiya#Startup#Startaplar#Qashqadaryo 🌐Aloqa LIVE