mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-12-03 16:24:01 +03:00
- 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.
28 lines
723 B
Python
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',
|
|
]
|
|
|