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

Пребарај: #creativemeetings

当前筛选 #creativemeetings清除筛选
Yoshlar Markazi | Ziyo Forum

@YouthCenterZiyo · Post #33 · 13.11.2023 г., 08:00

🎗️Bo’lib o’tgan "Novda" loyihasidan lavhalar! ⭐️“Novda” loyihasi nima? "Novda" loyihasi 16 yoshdan 20 yoshgacha bo'lgan yoshlar uchun mo'ljallangan dastur bo'lib, shaxsiy rivojlanish, yoshlardagi liderlik qobiliyatini oshirish, va ishtirokchilarni kelajakdagi faoliyati uchun muhim ko'nikma va tajribalar bilan ta'minlashga qaratilgan. ☀️ “Novda” loyihasining asosiy maqsadlari nimalardan iborat? "Novda" loyihasining asosiy maqsadlari: - shaxsiy rivojlarnishni rag'batlantirish, - yosh liderlarga ko'nikma va bilimlar berish, - qo'llab-quvvatlovchi atmosfera yaratish, - o'z-o'zini kashf qilish va o'rganish uchun imkoniyat yaratish va jarayonni osonlashtirishdan iborat. @YouthCenterZiyo #ZiyoForum#SiningRivojlanishSahifasi #Tadbir #CreativeMeetings #RivojlanishJamiyati

Yoshlar Markazi | Ziyo Forum

@YouthCenterZiyo · Post #12 · 26.10.2023 г., 11:12

✨ Ziyo Forum fondi Yoshlar Markaziga xush kelibsiz! 1️⃣#Tadbir e'lonlari - bu yerda biz bo'lajak tadbirlar haqida barcha ma'lumotlarni baham ko'ramiz. Ajoyib tadbirlarda ishtirok etish imkoniyatini boy bermang! 2️⃣#CreativeMeetings - bizda ijod va san'atga bag'ishlangan uchrashuvlar tez-tez bo'lib turadi. Biz ilhom izlayotgan barchani taklif qilamiz. 3️⃣#EducationalNews - ta'lim olamidagi so'nggi tendentsiyalar va voqealardan xabardor bo'ling. Keling, istiqbol va g'oyalarni birgalikda muhokama qilaylik! 4️⃣#RivojlanishJamiyati - biz tajriba va fikr almashish uchun maydon yaratamiz. Muhokamalarga qo'shiling va biz bilan rivojlaning! 🔗 Bundan tashqari, bizning qo'shimcha resurslarimizni kuzatib borishni unutmang: Instagram: Ziyo Forum https://www.instagram.com/ziyo_forum/🖇 Ziyo Forum Media https://www.instagram.com/ziyoforum_media/🖇 Rasmiy telegram kanali: Ziyoforum_uz (https://t.me/Ziyoforum_uz) YouTube: https://www.youtube.com/c/ZiyoForum Ziyo forumiga qo'shiling - hamma uchun nimadir bor! 🚀 #ZiyoJamiyati#SizningRivojlanishHududi