Где найти единую понятную инструкцию для метода ModelAdmin в Django

Вопрос от глупого нуба о Django

Я прочитал учебник, в котором описывался метод ModelAdmin changelist_view

Выглядит это следующим образом:

class SaleSummaryAdmin(ModelAdmin):

    # ...

    def changelist_view(self, request, extra_context=None):
        response = super().changelist_view(
            request,
            extra_context=extra_context,
        )

        try:
            qs = response.context_data['cl'].queryset
        except (AttributeError, KeyError):
            return response

        metrics = {
            'total': Count('id'),
            'total_sales': Sum('price'),
        }

        response.context_data['summary'] = list(
            qs
            .values('sale__category__name')
            .annotate(**metrics)
            .order_by('-total_sales')
        )

        return response

Это отличается от того, что описано в документации. Кроме того, в других руководствах я видел другие варианты написания этого метода, например, такой:

def changelist_view(self, request, extra_context=None):
        extra_context = extra_context or {}

        gradeScalesSettings = gradeScalesSetting.objects.all()
        configurations = configuration.objects.all()
        rounding = gradeScalesSetting.objects.all().values_list('Rounding', flat=True).distinct()

        extra_context.update({
            "rounding": rounding,
            "gradeScalesSetting": gradeScalesSettings,
            "configurations": configurations,
        })
        return super().changelist_view(request, extra_context=extra_context)

Как это работает? Я не понимаю, как правильно использовать этот метод, потому что не могу найти ни одной инструкции. Возможно, я просто не понимаю принцип, по которому он работает. Подскажите, в каком направлении мне следует искать

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