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

Пребарај: #wayu

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

@teachforuzbekistan · Post #274 · 28.07.2025 г., 11:14

😎 Yozgi institutimiz mehmoni — O‘zbekiston Yoshlari Umumjahon Assotsiatsiyasi raisi, Otabek Shavkatov Sherzodovich! 🚀 Oʻtkazilgan samimiy uchrashuvda ishtirokchilarimiz WAYU raisi bilan bevosita muloqotda bo‘ldilar. Otabek Shavkatov yoshlar uchun yaratilgan global imkoniyatlar, ta’lim va ijtimoiy innovatsiyalar haqida qimmatli fikr-mulohazalar bilan o‘rtoqlashdi. 🌍 WAYU — World Association of Youth of Uzbekistan tashkiloti bo‘lib, xorijdagi vatandosh yoshlarning huquq va manfaatlarini himoyalash, ularni zamon bilan hamqadam bo‘lishga yetaklash, hamda ularni o‘zlarining vataniga bog‘liq ijtimoiy-tadbirkorlik va ta’lim loyihalariga jalb qilishni maqsad qilgan — 26+ davlatda vakolatxonalari mavjud, Toshkent shahrida bosh idorasi joylashgan nodavlat notijorat tashkilotdir. 🤝 Ushbu uchrashuv ishtirokchilarga o‘z maqsadlariga yanada yaqinlashish, o‘qituvchilik va liderlik yo‘llarini kengaytirish loyihalarini amalga oshirish uchun katta imkoniyat yaratdi. 💬💬💬🗣 😎 Our Summer Institute guest — Chairman of the World Association of Youth of Uzbekistan (WAYU), Otabek Shavkatov Sherzodovich! 🚀 During the sincere meeting held, our participants had the opportunity to directly interact with the WAYU Chairman. Otabek Shavkatov shared valuable insights on global opportunities created for youth, education, and social innovations. 🌍 WAYU — the World Association of Youth of Uzbekistan is a non-governmental, non-profit organization headquartered in Tashkent, with representative offices in more than 26 countries. It aims to protect the rights and interests of Uzbek youth abroad, help them keep pace with the times, and involve them in social-entrepreneurial and educational projects related to their homeland. 🤝 This meeting created a great opportunity for participants to get closer to their goals and to implement projects on teaching and leadership development. #TeachForUzbekistan#YozgiInstitut#WAYU#YouthAssociation#OtabekShavkatov#Ilhomlanamiz#YoshLiderlar#EducationForAll#GlobalYouth