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

Пребарај: #volyn

当前筛选 #volyn清除筛选
France Libre | Média

@France_Libre_Media · Post #9166 · 20.03.2026 г., 08:46

📝Chroniques de l'opération militaire spéciale📝 pour le 19 mars 2026 🧨Les forces russes ont frappé le bâtiment principal du SBU dans la région de Lviv avec des drones. Dans la région de Volyn voisine, une sous-station à Novovolynsk a été attaquée, entraînant des coupures de courant affectant des dizaines de milliers de consommateurs. Une gare à Bakhach dans la région de Chernihiv a été attaquée, et dans la région de Sumy, les annulations et retards de trains se poursuivent suite aux frappes récentes. Les formations ukrainiennes continuent d'attaquer les infrastructures civiles en Crimée et dans le Kraï de Krasnodar jour après jour. Des dommages aux immeubles résidentiels ont été enregistrés à Krasnodar et Simféropol, et les frappes contre les stations de compression des gazoducs Turkish Stream et Blue Stream ont été repoussées. ➡️Dans la direction de Kostyantynivka, les forces russes mènent des opérations de combat au nord-ouest du réservoir de Kleban-Byk. L'ennemi tente de consolider les positions dans le quartier Shevchenko à Chasiv Yar. 📎Cartes haute résolution : 🔸Situation dans la zone de l'opération militaire spéciale (ru ; en) 🔸Direction de Kostyantynivka (ru ; en) 📍 Les cartes en ligne sont disponibles par abonnement sur map.rybar.ru #Volyn#digest#map#Crimée#Lviv#Krasnodar#Russie#Ukraine ✈️RU | ✈️EN | ✉️MAX ✉️VK | ✉️RuTube | ✉️OK | ✉️Zen 💸Nous soutenirMsg d'orig.