❃ Хижина программиста Æ
13.4K subscribers
1.52K photos
117 videos
25 files
3.41K links
Канал для IT Дизайнеров и Программистов, Инженеров и Преподавателей

📡 Ссылка на канал: @hut_programmer_07

⚖️ Фундаментальные знания по основам программирования, философии и этики

💡 По вопросам рекламы: @quadd4rv1n7

Σ 只
Download Telegram
🚀 Полезный трюк для SQLAlchemy: как быстро преобразовать модель в словарь без использования Pydantic

Друзья, добрый день 👋

Сегодня хочу поделиться с вами простой наработкой для работы с SQLAlchemy. Если вам часто нужно получать питоновский словарь из результатов запросов, но тянуть Pydantic для этого не хочется, то этот метод как раз для вас 😎

📝 Решение:

Мы добавляем метод to_dict в базовый класс, от которого будут наследоваться все модели. Этот метод будет преобразовывать модель SQLAlchemy в стандартный Python-словарь, исключая необходимость в Pydantic. Очень удобно, если вы хотите работать с данными без лишних зависимостей.

🛠 Пример реализации:
class Base(AsyncAttrs, DeclarativeBase):
__abstract__ = True

def to_dict(self, exclude_none: bool = False):
"""
Преобразует объект модели в словарь.

Args:
exclude_none (bool): Исключать ли None значения из результата

Returns:
dict: Словарь с данными объекта
"""
result = {}
for column in inspect(self.__class__).columns:
value = getattr(self, column.key)

# Преобразование специальных типов данных
if isinstance(value, datetime):
value = value.isoformat()
elif isinstance(value, Decimal):
value = float(value)
elif isinstance(value, uuid.UUID):
value = str(value)

# Добавляем значение в результат
if not exclude_none or value is not None:
result[column.key] = value

return result


📦 Пример использования:

Теперь вы можете легко использовать этот метод для преобразования данных, полученных из базы:
product_data = await ProductDAO.find_one_or_none_by_id(session=session, data_id=product_id)
product = product_data.to_dict()

💻 Это решение подходит для быстрого и удобного получения данных в формате словаря без лишних зависимостей. Очень полезно для работы с API или при отправке данных в frontend

➡️ Хижина программиста 🌎

Ставьте «
🥰», если пост вам понравился

⌨️ Теги:
#аналитика
#maestro7it
#maximdupley
#quadd4rv1n7
#2025год
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from ПИК
Как подружиться с соседями

В кварталах ПИК есть соседские сообщества, в которых жители знакомятся, находят компанию для спорта, кино или просто дружат.

В карточках — пять советов, которые помогут познакомиться с соседями ⬆️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Финуслуги
Сколько стоит ваш отпуск?

Вы знали, что количество рабочих дней в месяце влияет на отпускные? Чем больше рабочих дней, тем больше денег.

Мы подготовили подробный календарь на 2025 год и советы, как выбрать самые выгодные дни для отпуска. Листайте карточки, сохраняйте и отправляйте друзьям — пускай тоже запомнят.

И, кстати, когда вы уходите в отпуск?
🔥 — когда выгодно
❤️ — когда захочу
😁 — ходить в отпуск? У нас так не принято!
👍1
Выражение - Бог простит

Жизнь — этo как большой супермаркет, бери что хoчешь, нo не забывай — касса впереди, за всё придется платить сполна.

И это как правило, не деньги.


➡️ Хижина программиста 🌎

Ставьте «
🥰», если пост вам понравился

⌨️ Теги:
#богпростит
#лепс
#христианство
#максимдуплей
#маестро
#maximdupley
#quadd4rv1n7
#meastro7it
#2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Старики будут править IT

Путь миллениала

Для начала сделаем ремарку, кто такие миллениалы?

Это люди, родившиеся примерно в период с 1981 по 1999 год, на стыке тысячелетий.

Особенностью этой возрастной группы является то, что на протяжении их жизни происходят постоянные технологические изменения.

Это делает людей более гибкими, восприимчивыми к нововведениям и готовыми к изучению чего-то нового.

➡️ Хижина программиста 🌎

Ставьте «
🥰», если пост вам понравился

⌨️ Теги:
#IT
#работа
#миллениалы
#максимдуплей
#маестро
#maximdupley
#quadd4rv1n7
#meastro7it
#2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1