title: Django admin change_list view get ChangeList queryset - better solution than my monkey patch
body: <p>I need to get a changelist view queryset in django admin. Currently, I have this monkey patch which makes 4 extra queries, so I'm looking for a better solution.</p>
  
  <p>My point is: I want to pass some extra values to django admin change_list.html template which I get from creating queries. For those queries, I need the queryset which is used in django admin changelist view with request filters applied. This is the same data which I see filtered, ordered etc. I want to make graphs from this data. </p>
  
  <p>Do you understand me? Thanks</p>
  
  <pre><code>#admin.py
  from django.contrib.admin.views.main import ChangeList
  
  class TicketAdmin(admin.ModelAdmin):
  
      def changelist_view(self, request, extra_context=None):
  
          cl = ChangeList(request, 
                          self.model, 
                          self.list_display, 
                          self.list_display_links, 
                          self.list_filter, 
                          self.date_hierarchy, 
                          self.search_fields, 
                          self.list_select_related, 
                          self.list_per_page,
                          self.list_max_show_all, 
                          self.list_editable, 
                          self) # 3 extra queries
          filtered_query_set = cl.get_query_set(request) # 1 extra query
  
          currencies_count = filtered_query_set.values('bookmaker__currency').distinct().count()
  
          extra_context = {
              'currencies_count': currencies_count,
          }
          return super(TicketAdmin, self).changelist_view(request, extra_context=extra_context)
  </code></pre>