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

Пребарај: #changwonncpark

当前筛选 #changwonncpark清除筛选
UXLINK

@uxlink_community · Post #507 · 07.06.2025 г., 03:27

안녕하세요, UXLINK 한국 커뮤니티 여러분! TANU의 야구장 여정, 이번엔 창원NC파크입니다! 고척의 뜨거운 함성에 이어 이곳 창원에서 한국 야구팬 여러분과 만나게 되어 정말 기쁘고 설렙니다. 곧 야구 커뮤니티와 함께할 특별한 캠페인을 시작할 예정이니, 팬 여러분의 많은 기대와 참여 부탁드립니다. 창원에서 펼쳐질 TANU의 활약과 새로운 이벤트를 기대해주세요! #UXLINK#TANU#창원NC파크#NC다이노스#KBO#웹3#야구#스포츠이벤트 Hello, UXLINK community! TANU's ballpark journey continues, this time at Changwon NC Park! After the incredible energy at Gocheok, we're so happy and excited to meet all the Korean baseball fans here in Changwon. We'll be launching a special campaign with the baseball community soon, so we look forward to your participation. Stay tuned for TANU's adventures and our new events in Changwon! #UXLINK#TANU#ChangwonNCPark#NCDinos#KBO#Web3#Baseball#SportsEvent