Использование 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
Как стало возможных внедрить автоматизированное планирование за три недели?
🧑💻Ответила на этот вопрос Елена Безрукова, Системный аналитик AXELOT
🗣 Если у вас остались вопросы, оставляйте комментарии под этим постом — будем рады ответить!
#Эксперты_AXELOT#TMS
📉 В результате внедрения системы управления транспортом (TMS) в компании ВсеИнструменты.ру, доля ручных операций сократилась с 90% в 2023 году до 10% в 2024 году. Директор по логистике Георгий Ким рассказал об этом на SCM Конгрессе. До автоматизации логистика компании в основном зависела от ручных процессов, что создавало риски монополизации, так как около 25-30% перевозок осуществлялись одним подрядчиком.
🚚 Прежние методы работы приводили к 100 сервисным нарушениям в месяц, что была серьёзной проблемой для компании, работающей в e-com-сегменте, где клиенты ожидают быструю и бесперебойную доставку. Ким подчеркнул, что для решения проблемы был выбран путь внутренней трансформации через аудит процессов и разработку собственной TMS, автоматизировавшей 34 параметра, включая контроль времени прибытия и проверку документов.
🔧 Новая система значительно упростила процесс управления, сократив количество метрик до критически важных показателей, что способствовало более эффективной работе. Председатель отметил, что отбор перевозчиков стал более строгим: из тысячи заявок сейчас одобряются лишь десятки. Это привело к снижению числа сервисных нарушений до 17 в месяц, а в летний период до 1-5, при одновременном увеличении пула контрагентов в три раза.
____
#ТисЛоджистик🦏
#Логистика
#Автоматизация
#TMS
Какую модель использования вы рекомендуете для решений класса RTVP?
🧑💻Ответил эксперт AXELOT: Андрей Заверткин, функциональный архитектор TMS
Получите консультацию от наших экспертов по продуктам AXELOT. Ставьте + в комментариях под постом или пишите в личные сообщения ✉️
#Эксперты_AXELOT#AXELOTTMS#TMS
Что стало первопричиной появления сервиса AXELOT RTVP?
🧑💻Ответил эксперт AXELOT: Заверткин Андрей, функциональный архитектор TMS
Ставьте реакции на пост🔥. Остались вопросы - задавайте их в комментариях под постом или пишите в личные сообщения✉️
#Эксперты_AXELOT#AXELOTTMS#TMS
26 августа 2021 в г.Алматы, Республика Казахстан состоялась ежегодная конференция “Логистика будущего”.
Логисты со всей страны встретились, чтобы обсудить текущие тренды по оптимизации своей деятельности. Партнеры и участники конференции – лидеры рынка складской и транспортной логистики.
Высокий интерес слушателей к традиционным AXELOTовским решениям #WMS, #TMS и #TOS был обусловлен не только развитием транспортно-логистического потенциала Республики Казахстан, но и введением системы обязательной маркировки на широкий перечень товарных групп.
Во второй части конференции была проведена экскурсия на один из наших объектов - складской комплекс ICEBERG ALMATY, который является самым крупным морозильным складом класса "А" в Центральной Азии общей площадью 47 000м2.
📢 Как контролировать транспортные затраты в AXELOT TMS X5?
🗣️ Рассказал специалист AXELOT Евплов Андрей, Функциональный архитектор
Остались вопросы? Пишите в комментариях под постом ⬇️
#Эксперты_AXELOT#TMS#транспортныезатраты
📢Как организовать комфортную работу водителя в AXELOT TMS и удержать сотрудника?
Ответили эксперты компании AXELOT - смотрите запись вебинара❗️
#вебинар#AXELOTTMS#TMS#эксперты_AXELOT
Почему так важна архивная функция TMS, которая относится скорее к системе операционного управления?
🗣️Ответила на этот вопрос Елена Безрукова, системный аналитик AXELOT
Получить ответы на вопросы по продуктам AXELOT и подобрать нужное решение можно через личные сообщения! Или ставьте + в комментариях под постом, мы с вами свяжемся⬇️
#AXELOT#TMS#грузоперевозки#совместимостьтоваров
📡 Может ли AXELOT TMS X5 помочь управлять рисками в транспортной логистике?
🧑💻Рассказал в видеоролике Олег Голядинец, менеджер по развитию ИТ-продукта.
Задавайте вопросы по возможностям AXELOT TMS в комментариях под постами⬇️
#AXELOT#AXELOTTMS#TMS#транспортнаялогистика
📢 Каким способом YMS может сгладить пики нагрузки на доки?
✔️ На этот вопрос ответил Сергей Шейко, руководитель отдела YMS
Ставьте реакции на пост 🔥 и задавайте свои вопросы нашим экспертам‼️
#Эксперты_AXELOT#YMS#TMS#WMS
📢Какие риски закладывают перевозчики на простой при проведении погрузо-разгрузочных работ?
На этот вопрос ответил Сергей Шейко, руководитель отдела YMS, в видео ✅
Ставьте реакции на пост 🔥 и задавайте свои вопросы нашим экспертам❗
#Эксперты_AXELOT#YMS#TMS#WMS