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

Резултати

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

Пребарај: #fursuit

当前筛选 #fursuit清除筛选
Sabertoof's Arts!

@artbysabertoofs · Post #3 · 03.07.2023 г., 01:18

‼️Please read this FIRST!‼️ This channel is NSFW and 18+ ONLY. Please abide by this simple rule! ————— 🐯- Hey! This is Darius. Welcome on in! It was requested that Telegram be an additional platform to add to my repertoire, so here we are! Thank you for coming along. Here you can expect: - Art - Works in progress (both fursuit AND art) - Polls - Announcements - Commission openings ————— Tag system: ✨#art - all completed works ✨#wip - work in progress snippets ✨#fursuit - any fursuit photos and WIPs ✨#updates - work and personal updates ✨#commissions - for art and fursuit openings ✨#adopt - for WIPs of adopts and finished adopts ————— Other platforms you can follow me on: BLUESKY: sabertoofs.bsky.social (my primary social media, please follow me there!) FurAffinity:https://www.furaffinity.net/user/sabertoofs (gallery) Twitter:https://twitter.com/sabertoofs (abandoning after queue list) Discord server:discord.gg/jr26ZcQknr Ko-fi (tip jar):https://ko-fi.com/sabertoofs