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

Пребарај: #aiwars2025

当前筛选 #aiwars2025清除筛选
GPT360

@gpt360_announcement · Post #1549 · 08.04.2025 г., 09:44

🚨𝐆𝐏𝐓𝟑𝟔𝟎 𝐢𝐬 𝐣𝐨𝐢𝐧𝐢𝐧𝐠 𝐭𝐡𝐞 𝐇𝐲𝐫𝐚 𝐀𝐌𝐀!🚨 Hey Web3 fam! We're excited to announce that our CMO Anton Sheleg will be joining an epic AMA session hosted by Hyra101 to talk all things Web3 AI vs. centralized giants — and why this revolution is just getting started👀 ⬇️ 𝐓𝐨𝐩𝐢𝐜: AI Wars 2025: Can Web3 AI Overtake Centralized Giants? ⬇️ 𝐃𝐚𝐭𝐞: April 8, 2025 ⬇️ 𝐓𝐢𝐦𝐞: 13:00 (UTC) ⬇️ 𝐖𝐡𝐞𝐫𝐞: https://x.com/i/spaces/1OdJrDmzzrlKX ⚡️ 𝐏𝐚𝐫𝐭𝐢𝐜𝐢𝐩𝐚𝐧𝐭𝐬: GPT360, Hyra Network, GPUAI 🔥 We'll be diving deep into strategy, vision, and what’s next for AI on-chain Tag your friends, bring your questions, and see you there! #GPT360#HyraNetwork#AIWars2025#Web3AI#AMA#DecentralizedAI