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

Резултати

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

Пребарај: #knot

当前筛选 #knot清除筛选
独立人指南

@Dulirenorg · Post #183 · 06.06.2019 г., 06:07

#knot#结绳术🧶 你能从 AnimatedKnots 这个网站学习到涉及了家庭日用、畜牧、登山、探险、航海、垂钓、伐木、救援,甚至手术操作领域内近200多种打绳结的方法,每种绳结都配有文字说明(英文)及分步图和视频(Youtube) 原址:https://animatedknots.com

Stargaze Broadcast

@StargazeBroadcast · Post #13905 · 18.05.2023 г., 16:37

Source: https://www.newgrounds.com/portal/view/776967 Artist: #dragonweirdo Characters: #claude_floraverse#mellie_floraverse Tags: #sound#animated#stealth_sex#public_sex#public_transportation#cum_inflation#caught#exhibitionism#female_penetrated#knot#size_difference#larger_male#smaller_female

独立人指南

@Dulirenorg · Post #469 · 06.08.2019 г., 07:16

📌 🏷 標籤索引: ➫ 基础生存 #foods#cooking#household#shelter#prepper#耕作 ➫ 生存环境 #灾变#避难#防盗#环境问题#隐世指南 ➫ 平民技术 #DIY#fire#取火术#结绳术#knot#tools#gis#制图术#原材料#能源 ➫ 信息获取 #booklist#film#致呼吸不畅的数字生活 ➫ 群居动物 #共识社区 📄 近期帖文: 〔译〕「逃荒」的四个理由 〔译〕LoTEK 〔译〕收获 〔译〕荒野生存 〔译〕铁: 从神秘到祛魅 〔译〕远洋航行 〔译〕一份调查:我们对抗传染病的武器 && Draining the swamp 🔝从头看起 📚书单 👉频道宗旨 ✏️反馈 & 投稿 📅 最後更新:二〇二​壹年六月廿三日