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 значительно упрощает работу с базой и делает код более читаемым и поддерживаемым.