Использование 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
Хотите начать работать в Битрикс24, но не знаете, как к нему подступиться? Чудо Иван записал для вас отличную инструкцию по первым шагам! Делай раз, делай два😀 Пользуйтесь! Дорогу осилит идущий!
#Битрикс24#Bitrix24
https://youtu.be/UhE6z_PNzVk
🚀 Вебинар: Автоматизация логистики с Bitrix24
📅 Дата: 27 марта 2025 г.
🕒 Время: 19:00
📍 Формат: онлайн в канале https://t.me/Bloglogist
Приглашаем вас на практический вебинар, где мы разберем, как с помощью Bitrix24 оптимизировать логистические процессы, автоматизировать управление грузоперевозками и складскими операциями.
🔍 Что будет на вебинаре:
✅ Основные возможности Bitrix24 для логистики.
✅ Интеграция CRM с логистическими процессами.
✅ Автоматизация уведомлений, маршрутов и заказов.
✅ Управление клиентами и аналитика в Bitrix24.
✅ Примеры из практики и ответы на ваши вопросы.
🌟 Спикеры:
- Николай Юдинских: эксперт в области грузоперевозок и логистики.
- Артем Иващенко: специалист по внедрению Bitrix24 с нуля до сложных интеграций.
👥 Для кого:
- Владельцы логистических компаний.
- Менеджеры по логистике и складу.
- IT-специалисты и все, кто хочет автоматизировать бизнес-процессы.
Не упустите шанс узнать, как сделать вашу логистику эффективнее с Bitrix24!
🎁 P.S. Участники вебинара получат полезные материалы и чек-листы по автоматизации процессов.
#Логистика#Bitrix24#Автоматизация#Вебинар#CRM
В современном мире всё меньше становится видов работ, которые нельзя было бы автоматизировать. С одной стороны, нет ничего лучше живого общения и звонка от своего личного менеджера с вопросом: «Как ваши дела?». Мы помним эти времена, когда это было заложено в головах менеджеров, а не в задачах CRM. Но о преимуществах внедрения CRM спорить бессмысленно, поэтому даже самые консервативные компании продолжают обращаться за внедрением, наш кейс как раз об этом. Продолжаем упрощать сложное и не усложнять простое.
#Битрикс24#Bitrix24#CRM#методсоли
https://blog.saltpro.ru/Solim-zapravlyaem-i-zapuskaem-CRM-Bitriks24-v-optovoj-kompanii/
🧐 Как уже пятница?
А где традиционный мем от Соли?
А вот же он) Друзья, давайте вместе улыбнёмся наступающим выходным 😄
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#методСоли#мемсоль
💥 Пятничный мем врывается в чатик!
С последним рабочим днём недели друзья) Солнечных вам выходных 🌞
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#методСоли#мемсоль
💼 Зачастую работа менеджеров состоит в обработке поступивших заявок, но если заказ от постоянного клиента не пришёл, про него могут и забыть.
🤝 Наше "Приложение Автоматическое создание сделок по потерянным клиентам" вынуждает менеджера работать с постоянными клиентами, так как создаёт в CRM новые сделки по контактам, компаниям, чья регулярность заказов "страдает".
⚙ Своевременно реагируйте на сбои в заказах и не упускайте клиентов. А если у вас пока нет постоянных клиентов, с нашим приложением они обязательно появятся!
Подробнее о работе незаменимого помощника рассказываем в нашей инструкции.👇🏻
https://blog.saltpro.ru/~comeback
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM
🏚 Процедура бронирования квартир в новостройках достаточна проста. Выбрал, позвонил, забронировал, - вуаля!
🧐 А как устроен процесс изнутри в связке CRM Битрикс24 и сайта заказчика, посмотрим сегодня в кейсе.
https://clck.ru/ae4C8
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM
💡Порция полезных материалов, а именно – кейс!
Тема: «Jira и Битрик24». Как совместить, зачем, в чём польза?
👍Читайте, будет интересно!
https://blog.saltpro.ru/~JiraIntBitrix
Есть вопросы? Напишите нам – будем рады ответить.
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM
🤝 Командная работа эффективнее, чем работа в одиночку, поэтому слаженно работающий коллектив – мечта работодателя.
💥 Сегодня разберём, кейс про работу бизнес-процессов, которые помогают выстроить процесс сообщений-напоминаний в командной работе любого отдела.
📢 Читайте, будет интересно! https://blog.saltpro.ru/~reminders
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM
🌐 Если у вас есть сайт на 1С-Битрикс и коробочный Битрикс24 и при этом наблюдаются проблемы с авторизацией пользователей, работой чатов и приложений, то, возможно, наша статья вам поможет.
😁 Читайте, наша техническая поддержка уверяет, что будет интересно.
https://blog.saltpro.ru/~cookies
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM