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

Пребарај: #aip

当前筛选 #aip清除筛选
Addis Standard

@addisstandardeng · Post #21251 · 30.01.2026 г., 11:59

News: #Ethiopia says official creditors decline Eurobond restructuring terms, plans to reengage Ad Hoc Committee The Ministry of Finance said Ethiopia will not proceed with the implementation of recently agreed #Eurobond restructuring terms after the country’s Official Creditor Committee (#OCC) concluded that the deal does not fully comply with the principle of Comparability of Treatment. In a statement issued on 30 January, the ministry said the assessment followed consultations with the OCC and the International Monetary Fund (#IMF) after Ethiopia reached an agreement in principle (#AIP) on 2 January 2026 with a group of bondholders on restructuring its US$1 billion 6.625% Notes due 2024. According to the ministry, Ethiopia and its advisers engaged the OCC and the IMF to determine whether the AIP was consistent with “(i) the Comparability of Treatment principle as applied by the OCC and (ii) the targets and parameters of Ethiopia’s IMF program.”...... Read more: https://addisstandard.com/?p=54853

100K20

@science_100k20 · Post #109 · 16.10.2023 г., 13:26

Предлагаем ознакомиться с графиком вебинаров от ведущих международных издательств на ближайшую неделю: 📅17 октября 2023 в 17:00 (мск) ✅AIP | Вероятностные модели и их применение Регистрация доступна по ссылке. 📅 18 октября 2023 в 17:00 (мск) ✅Questel | Базовый тренинг по Orbit Intelligence Регистрация доступна по ссылке. 📅18 октября 2023 в 19:00 (мск) ✅ACS | Сила химии: Передовые исследования в области антибиотиков и генной терапии Регистрация доступна по ссылке. #вебинар#исследования#электронныересурсы#наука#библиотека#публикации#ACS#AIP#Questel