У меня есть модель, как показано ниже:
.......
user=models.ForeignKey(settings.AUTH_USER_MODEL,null=True,blank=True)
visited = models.CharField(max_length=15)
......
Я хочу видеть в админке Django каждого пользователя с посещенным счетчиком. На данный момент я получаю имя каждого пользователя несколько раз и считаю 1.
Это мой admin.py.
class modelnameadmin(admin.ModelAdmin):
def get_queryset(self, request):
qs = super(modelnameadmin, self).get_queryset(request)
return qs.annotate(visit_count=Count('visited',distinct=True)).order_by('visit_count')
def visit_count(self, inst):
return inst.visit_count
list_display = ['user','visit_count']
Я получаю ниже результаты в шаблоне администратора.
user visit_count
1 1
1 1
2 1
2 1
Но я должен получить результат, как показано ниже.
user visit_count
1 2
2 2