Где найти единую понятную инструкцию для метода 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)
Как это работает? Я не понимаю, как правильно использовать этот метод, потому что не могу найти ни одной инструкции. Возможно, я просто не понимаю принцип, по которому он работает. Подскажите, в каком направлении мне следует искать