django-rest-framework/rest_framework/optimization/__init__.py
malikabdullahnazar 3ff4f68883 Add query optimization module and settings
- Add rest_framework/optimization module with query analyzer, optimizer, mixins, and middleware
- Add ENABLE_QUERY_OPTIMIZATION and WARN_ON_N_PLUS_ONE settings
- Add comprehensive test suite in tests/test_optimization.py

This feature provides automatic query optimization to prevent N+1 query
problems by analyzing serializer fields and applying select_related()
and prefetch_related() optimizations automatically.
2025-11-25 22:29:15 +05:00

28 lines
723 B
Python

"""
Query optimization utilities for Django REST Framework.
This module provides tools to automatically detect and prevent N+1 query problems
in DRF serializers by analyzing serializer fields and optimizing querysets.
"""
from rest_framework.optimization.mixins import OptimizedQuerySetMixin
from rest_framework.optimization.optimizer import (
optimize_queryset,
analyze_serializer_fields,
get_optimization_suggestions,
)
from rest_framework.optimization.query_analyzer import (
QueryAnalyzer,
detect_n_plus_one,
)
__all__ = [
'OptimizedQuerySetMixin',
'optimize_queryset',
'analyze_serializer_fields',
'get_optimization_suggestions',
'QueryAnalyzer',
'detect_n_plus_one',
]