6

I am trying to fetch count of all distinct values in particular column for example I have following table in model name MyModel :

Id  City     vendor

1   Mumbai      2
2   Pune        3
3   Mumbai      1
4   Yavatmal    2
5   Pune        5

I am looking for output something like this:

[{'Mumbai':2},{'Pune':2},{'Yavatmal':1}]
Piyush S. Wanare
  • 4,703
  • 6
  • 37
  • 54

1 Answers1

18

Like the comment of solarissmoke above. In that post you can see the solution:

from django.db.models import Count
MyModel.objects.values('city').annotate(the_count=Count('city'))
Community
  • 1
  • 1
trantu
  • 1,089
  • 8
  • 17
  • 5
    This doesn't actually work properly, you need to also use `order_by`, as done answer in the duplicate. Without it `the count` is just equal to `1` for everything. – alexexchanges Apr 18 '19 at 06:52