Сокращение количества запросов в Django TabularInline Admin

У меня есть админка с 1 строкой в табличном инлайне. У меня есть пользовательский кверисет в

class ExtensionTabularInlineFormSet(BaseInlineFormSet):
    def get_queryset(self) -> QuerySet[Extension]:
        qs = super().get_queryset()

Это вызывается 20 раз для отображения одного ряда. Когда у вас больше рядов, он вызывается 20 раз на ряд (я думаю, но я сбился со счета).

Виновником является вызов этого метода:

def initial_form_count(self):
    """Return the number of forms that are required in this FormSet."""
    if not self.is_bound:
        return len(self.get_queryset())
    return super().initial_form_count()

Решением было бы кэшировать это значение, но представления администратора слишком часто выглядят как синглтоны, чтобы это сработало. Как мне решить эту проблему?

Вернуться на верх