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

Пребарај: #kmzero

当前筛选 #kmzero清除筛选
Noticias de Israel y el mundo judío

@mundojudioeisrael · Post #5696 · 06.05.2026 г., 21:00

Así se está transformando la industria de los alimentos con Beatriz Jacoste en Mundo Innovación https://youtu.be/opO3YSTkUak En esta edición de Mundo Innovación, conducido por Isaac Ajzen, conversamos con Beatriz Jacoste Lozano, CEO de KM ZERO Food Innovation Hub, sobre cómo la innovación está transformando la industria alimentaria y qué tendencias marcarán el futuro de lo que comemos. Beatriz nos habla del papel de la sostenibilidad, la tecnología y la colaboración en la creación de sistemas alimentarios más inteligentes, saludables y sostenibles. Descubre cómo KM ZERO impulsa startups, proyectos y alianzas que están revolucionando el sector foodtech. 👉 No olvides suscribirte al canal y activar la campanita 🔔 para ver más entrevistas con líderes e innovadores que están cambiando el mundo. 📌 Síguenos en redes sociales para más contenido sobre innovación, emprendimiento y tecnología. #innovación#KMZERO#FoodInnovation#InnovaciónAlimentaria#FoodTech