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

Пребарај: #refinerycompetition

当前筛选 #refinerycompetition清除筛选
Crypto M - Crypto News

@CryptoM · Post #64790 · 10.04.2026 г., 00:05

🚀 North Sea Oil Prices Surge Amid Refinery Competition and Strait Concerns Oil prices in the North Sea have reached unprecedented levels as European and Asian refineries compete for supplies. According to BlockBeats, the Financial Times reported on April 10 that the ongoing control of the Hormuz Strait by Iran has further fueled market concerns. Data from the London Stock Exchange Group (LSEG) indicates that the spot price for Brent North Sea Forties crude oil approached $147 per barrel on Thursday, surpassing the peak seen before the 2008 financial crisis. This price is significantly higher than the international benchmark Brent crude June futures contract, which is priced around $50, highlighting signs of a shortage in the oil market. Traders have noted that the price surge, exceeding $30 per barrel, has hit the threshold set by the Intercontinental Exchange (ICE), preventing them from purchasing next week's Brent crude contracts for difference (CFD). These contracts are commonly used to hedge against rising oil prices. #NorthSeaOil#OilPrices#RefineryCompetition#StraitConcerns#HormuzStrait#BrentCrude#OilMarket#LSEG#FinancialCrisis#OilShortage#ICE#CFD