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

Пребарај: #practicallessons

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

@teachforuzbekistan · Post #278 · 31.07.2025 г., 13:58

Bugundan boshlab “Yozgi institut” ishtirokchilari maktab o‘quvchilari uchun dars oʻtishni boshladilar. 🎓 Ishtirokchilarimiz har bir darsga puxta tayyorgarlik bilan yondashib, bolalarga nafaqat bilim, balki ilhom va motivatsiya ham ulashmoqda. 🔍 Darslar davomida metodik yondashuv, ijodiy usullar qoʻllanilmoqda. Bu esa o‘quvchilarning bilim olishga bo‘lgan qiziqishini oshirib, interaktiv muhitda samarali o‘rganish imkonini bermoqda. Ushbu bosqich – ishtirokchilarimiz uchun katta mas’uliyat, maktab o‘quvchilari uchun esa yangi imkoniyatlar eshigi! #YozgiInstitut2025#AmaliyDarslar#TeachForUzbekistan 💬💬💬🗣 Starting today, participants of the “Summer Institute” have begun teaching schoolchildren. 🎓 Our participants are approaching each lesson with thorough preparation, sharing not only knowledge, but also inspiration and motivation with the children. 🔍 Throughout the lessons, methodological approaches and creative techniques are being used. This increases students’ interest in learning and provides an opportunity to study effectively in an interactive environment. This stage is a great responsibility for our participants and an open door of new opportunities for schoolchildren! #SummerInstitute2025#PracticalLessons#TeachForUzbekistan Telegram |Linkedln| Instagram |Youtube