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

Пребарај: #studyfair

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

@YouthCenterZiyo · Post #1028 · 21.10.2025 г., 14:58

🌎"Ziyo Forum" yoshlar markazida Study Fair & International Seminar bo‘lib o‘tdi! 11-oktabr kuni Ziyo Forum yoshlar markazida chet elda ta’lim olishni istagan yoshlar uchun Study Fair & International Seminar nomli tadbir tashkil etildi. Tadbirda AQSh, Buyuk Britaniya, Yevropa, Osiyo va Avstraliya universitetlari vakillari qatnashib, xalqaro ta’lim dasturlari va TOEFL iBT orqali grant asosida o‘qish imkoniyatlari haqida ma’lumot berishdi. Ishtirokchilar universitet vakillari bilan bevosita muloqotda bo‘lish, savollar berish va o‘z kelajak yo‘nalishlarini tanlash imkoniyatiga ega bo‘ldilar. ☕️ Tadbir iliq muhitda o‘tib, mehmonlarga bepul kofe va shirinliklar taqdim etildi. Barcha rasmlarni havola orqali topsangiz bo’ladi https://disk.yandex.ru/d/umZRpHznuEmNkA #ZiyoForum#StudyFair#InternationalSeminar#EducationAbroad#TOEFL#YoshlarMarkazi