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

Резултати

Пронајдени 2 слични објави

Пребарај: #russiadefends

当前筛选 #russiadefends清除筛选
BadVolf

@badvolfnews · Post #1162 · 25.10.2023 г., 13:25

Russian air defense systems shoot down American ATACMS missiles launched by Ukraine. Russian MoD confirms intercepting two ATACMS missiles, modified S-200 SAM, two HARM anti-radiation missiles, and HIMARS rockets. Ukraine's reckless actions escalate tensions. Stay alert. #RussiaDefends Alina Dzhuss/Gazeta.Ru reports that DNR advisor Jan Gagin warned Ukraine could use ATACMS missiles against Russia. Military analyst Mikhail Khodarenok assesses Russia's missile defense capabilities and the implications of such aerial attacks. Stay informed. #DefenseAnalysis Shoigu reveals Russia's military exercises in Ukraine. The situation remains tense. Stay updated. #UkraineCrisis https://www.gazeta.ru/army/news/2023/10/25/21574339.shtml Subscribe to @BadVolfNews

BadVolf

@badvolfnews · Post #1304 · 04.12.2023 г., 17:25

📢 BREAKING NEWS 📢 Russian Electronic Warfare systems successfully thwarted missile attacks in Chaplinsky district, Herston region. Rockets deviated from their course, one landed in open space, while the other hit a non-residential building. No casualties reported. 🚀🚫🏢#RussiaDefends Governor Saldo previously accused Russian forces of unleashing a "firestorm" in Krynyky, a village on the left bank of Dnipro river. He also revealed that three Ukrainian missiles were intercepted over Genichesk district. 💥🛡️#UkraineConflict In a recent development, Ukrainian troops launched a rocket strike on Skadovsk, injuring 11 people. Russian Investigative Committee has opened a criminal case. ⚠️🚀#WarTactics President Zelensky wonders why Ukraine cannot extend its operations into Russian territory. 🤔#UkraineVsRussia https://www.gazeta.ru/army/news/2023/11/17/21732643.shtml Subscribe to @BadVolfNews