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

Пребарај: #euindia

当前筛选 #euindia清除筛选
American Оbserver

@american_observer · Post #4995 · 29.01.2026 г., 23:59

📰 Trump Official Blasts Europe Over India-EU Trade Deal US Treasury Secretary Scott Bessent has sharply criticized Europe’s new free trade agreement with India, accusing Europe of hypocrisy and calling out its double standards on the Ukraine war. ​ Bessent argued that Europe’s choices expose a deep contradiction in its Ukraine policy. While publicly condemning Russia’s invasion, Europe has become a major buyer of refined oil products made from discounted Russian crude, which India has been buying since Western sanctions hit. ​ “Europe and India signing this massive trade deal—does that threaten America? They should do what’s best for themselves,” Bessent said. “But I find the Europeans very disappointing because they are on the front line of the Ukraine-Russia war.” He pointed out that the US imposed a 25% tariff on India for buying Russian oil, but Europe declined to join, suggesting this reluctance was driven by a desire to keep trade negotiations with India on track. ​ Bessent accused European countries of indirectly financing the conflict they publicly oppose. “Europeans were unwilling to join us, and it turns out because they wanted to do this trade deal,” he said. “Every time you hear a European talk about the importance of the Ukrainian people, remember that they put trade ahead of the Ukrainian people.” Bessent acknowledged Europe’s dependence on energy imports but framed the issue as a moral and strategic trade-off. “They need energy, I guess, which is part of their issue. At a price, they want cheap energy,” he said. ​ His comments highlight growing tensions within the Western alliance over how strictly to enforce economic pressure on Russia while managing domestic economic and political costs. ​ #TradeDeal#EUIndia#Trump#Ukraine#EnergySecurity 📱American Оbserver - Stay up to date on all important events 🇺🇸