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

Резултати

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

Пребарај: #blockchaingames

当前筛选 #blockchaingames清除筛选
Walken.io - Announcement

@walken_channel · Post #50 · 09.03.2022 г., 16:22

We completed marketplace categories on IOS and their inner screens for CAThletes, hats, t-shirts, shorts, shoes, accessories, and artifacts 🤠 So we wonder what would be your first purchase after getting your competition reward? $WLKN #gamefi#nfts#blockchaingames

Walken.io - Announcement

@walken_channel · Post #36 · 19.02.2022 г., 19:20

My CAThlete’s name is 🐼 Soon we will release the beta version where you need to walk more to enter various battle games with your CATthletes. He will be your best sporty mate. How would you like to name it? $WLKN #gamefi#nfts#blockchaingames

Mirracoin Новости

@MirraChannel · Post #204 · 20.09.2024 г., 08:34

#NFT#CryptoGaming#CrossTheAges#Web3#BlockchainGames 🎮 Поговорим об Web3-играх! Построенная на блокчейне Polygon карточная игра Cross the Agesсообщила о привлечении $3,5 млн. в новом раунде финансирования, в котором поучаствовали такие мастодонты, как Animoca Brands и другие известные венчурные фонды. Финансовый рывок разработчики объясняют подготовкой к TGE (Token Generator Event) – важной вехе для бесплатной игры. Токен игры (CTA) станет сердцем внутриигровой экономики, открывая новые возможности для покупки, продажи и аренды цифровых карт. ❓Об игре Игра доступна на Windows, Mac, Android и iOS, а для начала нужна лишь колода из 20 карт и немного тактических умений. Пользователи сражаются за контроль над доской, используя свои силы и стратегию. Проект работает на Immutable – платформе, которая ускоряет создание децентрализованных приложений на блокчейне Ethereum, что добавляет проекту ещё больше инновационного веса в мире Web3. ❗️Надо сказчть, что это не первый успешный раунд финансирования: на счету проекта уже более $20 млн, из которых $5 млн поступили от самого сообщества. В числе главных спонсоров – такие гиганты, как Ubisoft и блокчейн-платформа Polygon. Да и количество игроков говорит само за себя: Cross the Ages уже скачали более 400 тысяч раз 🔥. Если ты ещё не пробовали Cross the Ages, самое время окунуться в это приключение и стать частью растущей NFT-игровой экосистемы! ⏩ 🤔 Если вам понравился пост и вы хотите больше таких новостей, ставьте лайк 👍 и делитесь с друзьями! @MirraChannel😎