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

Пребарај: #lesjeunes

当前筛选 #lesjeunes清除筛选
GlobUs en français

@GlobUsFr · Post #115 · 27.01.2026 г., 17:36

La première journée de la finale du concours « L’Atelier de l’Avenir ». Comment s'est-elle déroulée ? Le 27 janvier, la finale du concours « L’Atelier de l’Avenir », organisé par le Mouvement L’Avenir du Congo et l'Association GlobUs, s'est tenue au Palais des Congrès. Plus de 50 participants ont présenté leurs projets sur la scène nationale, répartis en cinq catégories : — « Le mouvement est la vie » ; — « L'enseignant du futur » ; — « Les mots comptent » ; — « Les bonnes actions sont notre force » ; — « Idées du peuple pour l'avenir ». Venus de toutes les régions du pays, les candidats étaient unis par un objectif commun : construire ensemble l'avenir du Congo ! Ils ont présenté leurs projets, reflétant leur vision du futur du pays : des solutions technologiques et éducatives aux initiatives sociales et culturelles. Aujourd'hui, la jeunesse congolaise a eu l'opportunité de mettre en valeur ses talents et de démontrer ses capacités. Et ces jeunes ont obtenu des résultats exceptionnels. « Je crois en la jeunesse du Congo : c'est une génération au potentiel immense. Elle a simplement besoin de soutien pour le réaliser pleinement. Et ce concours est une excellente occasion de recevoir ce soutien », a souligné le représentant du jury. L'événement phare, la finale, aura lieu le 28 janvier, avec une Cérémonie de remise des prix et une tombola de 50 téléphones, fournis par le réseau social Afree, parmi les spectateurs ! L'objectif principal du concours « L’Atelier de l’Avenir » est d'identifier et de soutenir des idées et des projets susceptibles d'améliorer le quotidien des Congolais et de révéler de nouveaux talents. Outre les prix, les lauréats bénéficieront d'un accompagnement informationnel et d'une expertise, d'une promotion de leurs projets et de recommandations pour la mise en œuvre de leurs idées dans leurs départements respectifs. #GlobUs#Congo#Brazzaville#lesjeunes