Sobes.tech
Back to questions
Junior — Middle
58

Расскажите о вашем опыте использования ORM SQLAlchemy в проектах.

Companies where asked
Страна Девелопмент

Answer from AI

sobes.tech AI

В проектах я использовал SQLAlchemy как ORM для работы с базами данных в Python. Это позволило мне абстрагироваться от написания чистого SQL и работать с объектами Python, которые автоматически отображаются на таблицы в базе.

Основные моменты моего опыта:

  • Определение моделей с помощью классов и декларативного стиля.
  • Создание и выполнение запросов с использованием сессий SQLAlchemy.
  • Использование миграций (например, с Alembic) для управления схемой базы.
  • Оптимизация запросов с помощью ленивой загрузки и жадной загрузки связей.

Пример модели и запроса:

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine

Base = declarative_base()

class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)

engine = create_engine('sqlite:///example.db')
Session = sessionmaker(bind=engine)
session = Session()

# Добавление пользователя
new_user = User(name='Иван')
session.add(new_user)
session.commit()

# Запрос пользователей
users = session.query(User).filter_by(name='Иван').all()
print(users)

SQLAlchemy значительно упрощает работу с базой и делает код более читаемым и поддерживаемым.