Sobes.tech
Back to questions
Junior — Middle
62

Как работает система объектов и запросов в Django, позволяющая взаимодействовать с базой данных без написания SQL?

Companies where asked
LuckyGroup

Answer from AI

sobes.tech AI

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

Основные моменты:

  • Модели описывают структуру таблиц базы данных как классы Python.
  • Для получения, создания, обновления и удаления данных используются методы моделей и менеджеров.
  • Запросы строятся с помощью методов фильтрации, сортировки и агрегации, которые ORM преобразует в SQL.

Пример получения всех объектов модели Book с фильтром:

books = Book.objects.filter(author='Толстой').order_by('title')

Здесь objects — менеджер модели, filter и order_by — методы для построения запроса. Django ORM автоматически сгенерирует соответствующий SQL и выполнит его.