title: How to filter ModelAdmin autocomplete_fields results with the context of limit_choices_to
body: <p>I have a situation where I wish to utilize Django's autocomplete admin widget, that respects a referencing models field limitation.</p>
  
  <p>For example I have the following <code>Collection</code> model that has the attribute <code>kind</code> with specified choices.</p>
  
  <pre><code>class Collection(models.Model):
      ...
      COLLECTION_KINDS = (
          ('personal', 'Personal'),
          ('collaborative', 'Collaborative'),
      )
  
      name = models.CharField()
      kind = models.CharField(choices=COLLECTION_KINDS)
      ...
  </code></pre>
  
  <p>Another model <code>ScheduledCollection</code> references <code>Collection</code> with a <code>ForeignKey</code> field that implements <code>limit_choices_to</code> option. The purpose of this model is to associate meta data to a <code>Collection</code> for a specific use case.</p>
  
  <pre><code>class ScheduledCollection(models.Model):
      ...
      collection = models.ForeignKey(Collection, limit_choices_to={'kind': 'collaborative'})
  
      start_date = models.DateField()
      end_date = models.DateField()
      ...
  </code></pre>
  
  <p>Both models are registered with a <code>ModelAdmin</code>. The <code>Collection</code> model implements <code>search_fields</code>.</p>
  
  <pre><code>@register(models.Collection)
  class CollectionAdmin(ModelAdmin):
      ...
      search_fields = ['name']
      ...
  </code></pre>
  
  <p>The <code>ScheduledCollection</code> model implements <code>autocomplete_fields</code></p>
  
  <pre><code>@register(models.ScheduledCollection)
  class ScheduledCollectionAdmin(ModelAdmin):
      ...
      autocomplete_fields = ['collection']
      ...
  </code></pre>
  
  <p>This works but not entirely as expected. The autocomplete retrieves results from a view generated by the <code>Collection</code> model. The <code>limit_choices_to</code> do not filter the results and are only enforced upon save.</p>
  
  <p>It has been suggested to implement <code>get_search_results</code> or <code>get_queryset</code> on the <code>CollectionAdmin</code> model. I was able to do this and filter the results. However, this changes <code>Collection</code> search results across the board. I am unaware of how to attain more context within <code>get_search_results</code> or <code>get_queryset</code> to conditionally filter the results based upon a relationship.</p>
  
  <p>In my case I would like to have several choices for <code>Collection</code> and several meta models with different <code>limit_choices_to</code> options and have the autocomplete feature respect these restrictions.</p>
  
  <p>I don't expect this to work automagically and maybe this should be a feature request. At this point I am at a loss how to filter the results of a autocomplete with the respect to a choice limitation (or any condition).</p>
  
  <p>Without using <code>autocomplete_fields</code> the Django admin's default <code>&lt;select&gt;</code> widget filters the results.</p>