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

Как получать данные из БД с помощью Django ORM

Для работы с базой данных в Django используется ORM (Object-Relational Mapping), которая позволяет взаимодействовать с БД через Python-код. Основные методы:

  1. Получение всех записей модели:
python
from myapp.models import MyModel

all_objects = MyModel.objects.all()
  1. Фильтрация записей:
python
filtered_objects = MyModel.objects.filter(field_name='value')
  1. Получение одной записи:
python
single_object = MyModel.objects.get(id=1)  # или pk=1
  1. Сложные запросы с Q-объектами:
python
from django.db.models import Q
objects = MyModel.objects.filter(Q(field1='value') | Q(field2='value'))
  1. Выборка определенных полей:
python
values = MyModel.objects.values('field1', 'field2')
  1. Сортировка:
python
ordered = MyModel.objects.order_by('field_name')
  1. Агрегация:
python
from django.db.models import Count
count = MyModel.objects.aggregate(Count('id'))

Важно: ORM лениво загружает данные - запрос выполняется только при реальном обращении к данным. Для оптимизации можно использовать select_related (для ForeignKey) и prefetch_related (для ManyToMany).

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

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

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

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