Админка вывод в changelist сгруппированных данных
Хочу вывести кол-во записей с одинаковым значением в поле в админке
class ModelTest(models.Model):
created_at = models.DateTimeField(...)
request_url = models.CharField(...)
class ModelGroupedTest(ModelTest):
class Meta:
proxy = True
class GroupedModelAdmin(admin.ModelAdmin):
list_display = ['get_request_count', 'request_url']
def get_queryset(....):
return ModelGroupedTest.objects.annotate(request_count=Count(F('request_url')))
... # Остальные метода, которые врятли помогут разобраться с проблемой
Но как бы не пытался, постоянно добавляется id в сортировку. Из-за этого невозможна группировка. Как пофиксить?
Пробовал
#1
qs.group_by = ['request_url']
#2
qs = qs.annotate(...).order_by('request_url')
#3
qs.annotate(...).values('request_url', 'request_count')
В третьем варианте получилось сгруппировать, но modeladminне может работать со словарями
PS:
Хочу получить changelist в виде
| Url | Count |
|---|---|
| /page | 34 |
| /page-1 | 1 |