По мере роста приложения Django база данных обычно становится первым и наиболее значимым узким местом. Масштабирование включает оптимизацию запросов, индексирование, управление соединениями, реплики для чтения, кэширование и в конечном итоге архитектурные изменения — решение проблем базы данных дает наибольший рычаг масштабирования для большинства Django приложений.
1. Оптимизируйте запросы в первую очередь (наибольший эффект, минимальные затраты)
Book.objects.select_related().prefetch_related()
Article.objects.only(, )
Article.objects.values()
django.db.models Count, Sum
Author.objects.annotate(book_count=Count())
