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

Пребарај: #tokyobeast

当前筛选 #tokyobeast清除筛选
UXLINK

@uxlink_community · Post #319 · 07.03.2025 г., 06:02

🤝UXLINK x @TOKYOBEAST_JP: 日本コミュニティパートナーシップ発表! 🇯🇵 UXLINKは、TOKYOBEASTと日本コミュニティパートナーシップを締結しました! 🎉 TOKYOBEASTは、ゲーム・クリプト・予想を融合させた革新的なWeb3エンターテインメントプロジェクトです。 💰 2,000万ドルの開発予算 & 業界のプロ80名が手掛けるこのプロジェクトは、数百万のWeb2ユーザーをWeb3へとスムーズに導きます。 このパートナーシップを通じて、UXLINKは日本のWeb3コミュニティの成長と発展を支援し、より多くのユーザーにこの革新的な体験を届けます! 一緒にWeb3の未来を創りましょう! 🤝UXLINK x @TOKYOBEAST_EN: Japan Community Partnership Announcement! 🇯🇵 We’re excited to announce our Japan Community Partnership with TOKYOBEAST, a cutting-edge Web3 entertainment ecosystem that fuses gaming, crypto, and prediction like never before! With a $20M development budget and a team of 80 industry experts, TOKYOBEAST is set to attract millions of Web2 users and seamlessly transition them into Web3. Through this partnership, UXLINK will help grow and engage the Japanese Web3 community, connecting users to this revolutionary gaming experience. Stay tuned for more updates as we expand the Web3 community together! #UXLINK#TOKYOBEAST#Web3Gaming