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

Резултати

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

Пребарај: #oz

当前筛选 #oz清除筛选

《监狱风云》1-6季 多年高分 犯罪惊悚剧 (1997-2003) ◎年 代 1997 ◎产 地 美国 ◎类 别 剧情 / 惊悚 / 犯罪 ◎豆瓣评星 ★★★★✦ ◎豆瓣评分 8.8/10 from 503,294,913 users ◎标 签 #监狱风云#美剧 | #监狱 | #犯罪 | #HBO | #电视剧 | #OZ ◎简 介 HBO的这部暴力,描写监狱生活的剧集是一部令人上瘾,激素窜升的肥皂剧。第一季的8集给整个剧集设定了基调:大量演员塑造的栏杆内外逼真的人物形象,4,5个故事以快速而令人窒息的速度发展,并伴有愤怒而古怪的旁述和戏剧性增长的死亡率。由杀人犯(Homicide)的制片人Tom Fontana创作,这部剧集很快赢得了“最暴力的电视节目”的称号。 ⬇️ 下载/分享链接: https://www.aliyundrive.com/s/1cGmaqCF3dr

2️⃣ выпуск🔥 Этим летом прошёл самый масштабный тур амбассадоров BURN! В Ульяновске мероприятие традиционно прошло в вейк-парке, где амбассадоры провели открытую смену, рассказали о преимуществах продукта HiT и пообщались с гостями. Мы тоже были там — пообщались с ульяновской основой: Камалом, представителем сети кальянных OZ пригласил в гости в заведение и обещал угостить и сделать - лучший вкус ! Теперь делимся полными интервью и атмосферой события 💬 При поддержке BURN и Kalyan Sale. #BURN#HiT#AmbassadorsTour#КальянSails#OZ#Ульяновск#ИвлевМедиа