Можно ли используя Django ORM оптимизировать кол-во запросов?

Есть модель которая использует Content type

models.py
class Issue(models.Model):
  body = models.TextField()
  content_type = models.ForeignKey(
      ContentType,
      limit_choices_to={'model__in': ('first_model', 'second_model'))
  object_id = models.PositiveIntegerField()
  content_object = GenericForeignKey('content_type', 'object_id')


views.py
class IssueListView(ListView):
  queryset = Issue.objects.select_related('content_type')


При выполнении итерации по queryset выполняются повторные запросы к БД.
Использование prefetch_related('content_object') не помогает.
Можно ли осуществить оптимизацию не прибегая к написанию запроса на raw sql?
  • Вопрос задан
  • 383 просмотра
Пригласить эксперта
Ответы на вопрос 1
@deliro
.prefetch_related('content_object')
Именно он поддерживает префетч динамических связей
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы