title: Django admin - autocomplete select doesn't emit "change" event
body: <p>I have a model, <code>Color</code>, with a foreign key <code>mill</code> that I'd like to autocomplete. Furthermore, I'd like to detect when the <code>mill</code> select box changes and do something with that in Javascript. However, I can't seem to trigger any JS off the select box being changed.</p>
  
  <p>I set up my admin like so:</p>
  
  <pre><code># admin.py
  
  class MillAdmin(admin.ModelAdmin):
      search_fields = ['name']
  
  class ColorAdmin(admin.ModelAdmin):
      class Media:
          js = ['js/jquery/jquery.min.js', 'js/admin/some-function.js',]
  
      autocomplete_fields = ['mill']
  </code></pre>
  
  <p>And I write some Javascript:</p>
  
  <pre><code>// some-function.js
  
  console.log('loaded script');
  document.addEventListener('change', (function(e) {
      console.log('detected change event somewhere')
  }))
  console.log('event listener added')
  </code></pre>
  
  <p>In my browser console, when I visit the Color page, I see: </p>
  
  <pre><code>loaded script
  event listener added
  </code></pre>
  
  <p>But when I select a mill, nothing more is logged.</p>
  
  <p><strong>Further notes</strong>:<br>
  The autocomplete itself is working just fine -- I am able to choose the mill I want, save, etc. Furthermore, if I remove <code>autocomplete_fields = ['mill']</code> from my admin, I see that the vanilla select box does trigger the <code>change</code> event as expected:</p>
  
  <pre><code>loaded script
  event listener added
  detected change event somewhere
  </code></pre>
  
  <p>I dug around in the source code long enough to find that Django is using <a href="https://select2.org/programmatic-control/events" rel="nofollow noreferrer">Select2</a>, which promises to emit the change event just as if it were a normal select box. But if that is happening, something else in the page must be eating it, because I'm not seeing it. What's going on? If there's a conflict between Django and Select2, does anyone know a workaround? Thanks!</p>