Делал ли subquery в Django

Python Junior Без компании
Делал ли subquery в Django
Ответы
Да, делал. Subquery в Django ORM позволяет выполнять вложенные запросы к базе данных. Это полезно для сложных фильтраций или аннотаций. Пример: ``` from django.db.models import OuterRef, Subquery from app.models import Post, Comment # Получить последний комментарий для каждого поста latest_comments = Comment.objects.filter( post=OuterRef('pk') ).order_by('-created_at') posts_with_last_comment = Post.objects.annotate( last_comment_text=Subquery(latest_comments.values('text')[:1]) ) ``` **Нюансы:** - `OuterRef` ссылается на внешний запрос. - Важно ограничивать подзапрос (например, `[:1]`), иначе может возникнуть ошибка. - Subquery может снижать производительность на больших данных. - В Django 3.2+ можно использовать `Exists()` для проверки наличия записей.