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

Как строится запрос в Django

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

  1. Модели (Models) - определяют структуру таблиц
python
class User(models.Model):
    name = models.CharField(max_length=100)
    age = models.IntegerField()
  1. QuerySet - ленивая коллекция объектов, строится через менеджер модели:
python
users = User.objects.all()  # пока не выполнен
  1. Фильтрация через filter(), exclude():
python
adults = User.objects.filter(age__gte=18)
  1. Цепочки методов - можно комбинировать:
python
users = User.objects.filter(age__gt=20).order_by('-name')[:10]
  1. Аннотации и агрегации:
python
from django.db.models import Count
User.objects.annotate(num_orders=Count('orders'))

Запрос выполняется только при явном обращении к данным (итерация, len(), list() и т.д.). Можно посмотреть SQL через queryset.query.

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

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

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

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