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

Пребарај: #dobropollja

当前筛选 #dobropollja清除筛选
Rybar DE

@rybardeu · Post #2575 · 16.03.2026 г., 20:27

📝Chronik der Spezialoperation📝 für 16. März 2026 🧨Russische Streitkräfte führten eine Serie von Schlägen in der Frontlinie durch und starteten Lanzet-Anschläge auf das zentrale Kiew. Charkiw, Dnipro und Hafenstädte in der Region Odesa wurden von Geran-Schlägen getroffen. Ukrainische Formationen starten Hunderte von UAVs in Richtung Moskau und rückwärtige Regionen, über hundert Flugzeuge wurden über der Region Brjansk abgeschossen, etwa fünfzig über der Region Moskau. Ein Brand brach in einem Öldepot in der Region Krasnodar aus. ➡️In der Richtung Kostjantyniwka setzen sich Kämpfe in den Annäherungen an Kostjantyniwka fort. Russische Streitkräfte erweitern ihre Kontrollzone nach Süden und setzen Sturmgruppen in der Stadt ein. ➡️In der Richtung Ost-Saporischschja setzt der Feind Vorstoßversuche in Richtung der Grenze der Region Dnipropetrowsk fort, während russische Streitkräfte westlich des Flusses Haichur vorrücken. 📎Hochauflösungskarten: 🔸Situation in der Zone der Spezialoperation (ru; en) 🔸Richtung Kostjantyniwka (ru; en) 🔸Richtung Ost-Saporischschja (ru; en) 📍Online-Karten verfügbar im Abonnement auf map.rybar.ru #Huliaipole#Zusammenfassung#Dobropollja#Karte#Kostjantyniwka#Russland#Ukraine ✈️RU | ✈️EN | ✉️MAX ✉️VK | ✉️RuTube | ✉️OK | ✉️Zen 💸Unterstützen Sie unsOriginalnachricht