title: Django admin list display - prefetch against custom names
body: <p>I have created some custom names for my list display but they are generating over 500 queries in my admin list display. I have added a select and prefetch QuerySet (which works on the edit form) and looks to have cut some of the list display down. </p>
  
  <p>However I think the get_xxx fields need to be prefetched too? but am not sure on how to do this?</p>
  
  <pre><code>class DeviceCircuitSubnetsAdmin(admin.ModelAdmin):
      search_fields = ['device__hostname','circuit__ref_no','subnet__subnet_type__subnet_type','subnet__subnet',]
      list_display = ('get_device','get_circuit','get_subnet','get_subnet_type')
  
      def queryset(self, request):
          return super(DeviceCircuitSubnetsAdmin, self).queryset(request) \
                                                      .select_related('circuit') \
                                                      .select_related('device') \
                                                      .select_related('subnet') \
                                                      .prefetch_related('device__site_') \
                                                      .prefetch_related('circuit__circuit_type') \
                                                      .prefetch_related('circuit__provider') \
                                                      .prefetch_related('subnet__subnet_type') \
  
      def get_device(self, obj):
          return obj.device.site
      get_device.admin_order_field  = 'device'  #Allows column order sorting
      get_device.short_description = 'Device'  #Renames column head
  
      def get_circuit(self, obj):
          try:
              return obj.circuit.ref_no
          except: 
              return ''
      get_circuit.admin_order_field  = 'circuit__ref_no'  #Allows column order sorting
      get_circuit.short_description = 'Ref No'  #Renames column head
  
      def get_subnet(self, obj):
          return obj.subnet.subnet
      get_subnet.admin_order_field  = 'subnet__subnet'  #Allows column order sorting
      get_subnet.short_description = 'Subnet'  #Renames column head
  
      def get_subnet_type(self, obj):
          return obj.subnet.subnet_type
      get_subnet_type.admin_order_field  = 'subnet__subnet_type__subnet_type'  #Allows column order sorting
      get_subnet_type.short_description = 'Subnet Type'  #Renames column head
  </code></pre>