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

Резултати

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

Пребарај: #medialeadership

当前筛选 #medialeadership清除筛选
Teach For Uzbekistan | Official

@teachforuzbekistan · Post #275 · 30.07.2025 г., 06:43

Mass-media fondi direktori bilan darslar 📚 Mass-media fondi direktori, tajribali media mutaxassisi Jahongir Azimov “Yozgi institut”imizda ishtirokchilarga maxsus darslar o‘tdilar. 💬 Mashg‘ulotlarda “Teamwork and Collaboration” (Jamoaviy ish va hamkorlik) hamda “Effective Communication Techniques” (Samarali muloqot usullari) mavzulari yoritildi. Ishtirokchilar jamoada samarali ishlash, o‘z fikrini ravon yetkazish va professional muomala ko‘nikmalarini amaliy mashqlar orqali rivojlantirdilar. 🤝 Bu darslar bilim boʻlibgina qolmay, kelgusida ishtirokchilarimiz uchun amalda eng foydali tajribalarga ham ega boʻlishdek imkoniyatni yaratdi. Jahongir Azimovga vaqtlarini ayamay kelgani va biz bilan ulashgan bilimlari uchun samimiy minnatdorchiligimizni bildiramiz! 💬💬💬🗣 Sessions with the Director of the Mass Media Foundation 📚 The Director of the National Mass Media Foundation and experienced media specialist Jahongir Azimov held special sessions for participants at our “Summer Institute”. 💬 The sessions covered the topics of “Teamwork and Collaboration” and “Effective Communication Techniques.” Participants enhanced their skills in effective teamwork, clear self-expression, and professional communication through practical exercises. 🤝 These sessions not only provided knowledge but also created an opportunity for our participants to gain valuable experiences that will be beneficial in their future careers. We sincerely thank Jahongir Azimov for taking the time to visit and share his knowledge with us! #TeachForUzbekistan#SummerInstitute#MediaLeadership#CommunicationSkills#Teamwork#JahongirAzimov#MassMediaSupport#YozgiInstitut#IlhomVaTajriba