Встречается на собеседованиях • сегодня

Что такое Django ORM

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

Основные возможности:

  • Автоматическое создание таблиц на основе моделей.
  • CRUD-операции через методы объектов (save(), delete(), get(), filter()).
  • Поддержка сложных запросов (агрегации, аннотации, Q-объекты).
  • Миграции для изменения схемы БД.

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

python
from django.db import models

class User(models.Model):
    name = models.CharField(max_length=100)
    age = models.IntegerField()

# Создание записи
user = User(name="Alice", age=25)
user.save()

# Выборка
users = User.objects.filter(age__gt=20)

Плюсы:

  • Упрощает работу с БД.
  • Кроссплатформенность (поддерживает PostgreSQL, MySQL, SQLite и др.).
  • Безопасность (избегает SQL-инъекций).

Минусы:

  • Может генерировать неоптимальные SQL-запросы.
  • Ограниченная гибкость для сложных SQL-операций.

Для сложных случаев можно использовать raw() или connection.cursor().

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы