JET School

Что такое ORM?

ORM (Object-Relational Mapping) — это метод программирования, который позволяет разработчикам работать с базами данных через Python-объекты, а не через прямые SQL-запросы. ORM автоматически преобразует Python-классы в таблицы базы данных и наоборот.

Этот подход делает код более читаемым, безопасным и сопровождаемым, особенно в больших проектах.

Как работает ORM?

В ORM-модели:

  • Python-класс соответствует таблице базы данных,
  • Атрибуты класса — это столбцы таблицы,
  • Экземпляр класса — строка в таблице.

Пример:


class User(Base):

__tablename__ = 'users'

id = Column(Integer, primary_key=True)

name = Column(String)

email = Column(String)

ORM-система на основе этого класса создаст SQL-таблицу вида:


CREATE TABLE users (

id INTEGER PRIMARY KEY,

name TEXT,

email TEXT

);

Преимущества использования ORM:

  • Нет необходимости писать SQL вручную
  • Интуитивная работа с данными через объекты
  • Защита от SQL-инъекций (ORM экранирует опасные данные)
  • Поддержка миграций базы данных
  • Лучшее сопровождение и читаемость кода

Когда не стоит использовать ORM?

В случаях, когда требуется высокая производительность, низкоуровневый контроль над запросами или сложные SQL-операции (например, нестандартные JOIN-ы), ORM может быть менее эффективным. В таких случаях предпочтительно использовать сырой SQL или гибридный подход.

Популярные ORM в Python:

  • SQLAlchemy – мощный и гибкий инструмент, широко используется в промышленности
  • Django ORM – встроен в Django и прост в использовании
  • Peewee, Tortoise ORM, Pony ORM – облегчённые или асинхронные варианты

Теги:

Связанные термины:

Присоединяйтесь к нашим курсам для углубленного изучения области ИТ. Отправьте запрос для получения подробной информации!