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

Пребарај: #humanitariancooperation

当前筛选 #humanitariancooperation清除筛选

🌐🤝Περισσότεροι από 2️⃣ χιλιάδες εκπρόσωποι από τη Ρωσία και το εξωτερικό — στο Διεθνές Φόρουμ Συνεργασίας στη Μόσχα! Στις 26 Οκτωβρίου στη Μόσχα πραγματοποιήθηκε το Διεθνές Φόρουμ Συνεργασίας, αφιερωμένο στα 100 χρόνια της λαϊκής διπλωματίας. Το φόρουμ συγκέντρωσε προσωπικότητες από τον χώρο της επιστήμης, του πολιτισμού, της διπλωματίας και εκπροσώπους οργανώσεων της κοινωνίας από πάνω από 100 χώρες. 🇬🇷 Η Ελλάδα εκπροσωπήθηκε από τον κ. Δημήτρη Πατέλη — διδάκτορα και καθηγητή φιλοσοφίας των επιστημών στο Πολυτεχνείο Κρήτης. Κύρια θέματα του Φόρουμ: 🔹 λαϊκή διπλωματία & διεθνής συνεργασία 🔹 πολιτιστική αλληλεπίδραση των χωρών 🔹 διαθρησκειακός διάλογος και ανθρωπιστικές πρωτοβουλίες 🔹 διατήρηση ιστορικής μνήμης & παραδοσιακών αξιών 📌 Κατά τη διάρκεια του Φόρουμ, το Ροσσοτρούντνιτσεστβο ανακοίνωσε την επέκταση του δικτύου των συνεργαζόμενων «Ρωσικών σπιτιών» σε χώρες της Αφρικής και της Ασίας. 🔗 Διαβάστε περισσότερα για την εκδήλωση εδώ ➡️https://clck.ru/3PykN5 🌐🤝Более 2 тысяч представителей России и зарубежных стран — на Международном форуме сотрудничества в Москве! 26 октября в Москве прошёл Международный форум сотрудничества, посвящённый 100-летию народной дипломатии. Форум объединил лидеров общественного мнения, учёных, деятелей культуры, дипломатов и космонавтов более чем из 100 стран мира 🇬🇷 Грецию на форуме представил Димитриос Пателис — доктор, профессор философии Критского политехнического университета. Ключевые темы форума: 🔹 народная дипломатия и международное сотрудничество 🔹 культурное взаимодействие стран 🔹 межрелигиозный диалог и гуманитарные инициативы 🔹 укрепление исторической памяти и традиционных ценностей 📌 В рамках форума Россотрудничество объявило о расширении сети партнёрских «русских домов» в ряде стран Африки и Азии. 🔗 Читайте подробнее о форуме здесь ➡️https://clck.ru/3PyahF #МеждународныйФорумСотрудничества#Россотрудничество#РусскийДом#Greece#PublicDiplomacy#Россия#ГуманитарноеСотрудничество#НароднаяДипломатия#CultureDialogue#Moscow #ΔιεθνέςΦόρουμΣυνεργασίας#ΡωσικόΣπίτι#Ροσσοτρούντνιτσεστβο#ΛαϊκήΔιπλωματία#Ελλάδα#Ρωσία#ΠολιτιστικήΔιπλωματία#HumanitarianCooperation#Moscow