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

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

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

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

  • Модели: Классы, наследующие django.db.models.Model, представляют таблицы в БД.
  • QuerySet: Ленивые запросы, которые выполняются только при необходимости (например, при итерации или вызове list()).
  • Миграции: Автоматическая генерация SQL-кода для изменения структуры БД (makemigrations, migrate).

Пример:

python
from django.db import models

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

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

# Запросы
users = User.objects.filter(age__gt=20)  # WHERE age > 20
young_users = users.exclude(age__gt=30)  # AND age <= 30

Особенности:

  • Поддержка транзакций (@transaction.atomic).
  • Оптимизация через select_related (JOIN) и prefetch_related (отдельные запросы для связанных данных).
  • Совместимость с разными СУБД (PostgreSQL, MySQL, SQLite и др.).

ORM преобразует Python-код в SQL, упрощая работу с БД без написания сырых запросов.

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

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

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

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