title: Specific Queryset for Input on Django ModelAdmin Change Form
body: <p>I've got a 'Registration' object in place that users can create on the front end without issue.</p>
  
  <p>It looks like this:</p>
  
  <pre><code>class Registration(models.Model):
      person = models.ForeignKey(Person, on_delete=models.PROTECT)
      course_detail = models.ForeignKey(CourseDetail, on_delete=models.PROTECT)
      camp_shirt = models.ForeignKey(CampShirt, on_delete=models.PROTECT)
      comments = models.CharField(max_length=200, blank=True, null=True)
      created_at = models.DateTimeField(auto_now_add=True)
      updated_at = models.DateTimeField(auto_now=True)
  
      def __str__(self):
          return "%s" % (self.course_detail.course.camp)
  </code></pre>
  
  <p>When I am in the admin and click on a given Registration - it takes a while to load because there are thousands and thousands of Person objects.</p>
  
  <p>For ease of use - there will never be a time when we would need to edit the 'person' associated with a given registration, so I would like to make the 'person' dropdown only show the selected user in the person queryset when editing from the django admin.</p>
  
  <p>So when I go to <code>http://myapp.com/admin/registration/23/change</code> I want the form to only display the currently selected person as the only option in the dropdown.</p>
  
  <p>My admin model looks like this:</p>
  
  <pre><code>class RegistrationAdmin(admin.ModelAdmin):
      list_display = ("person", "course_detail")
  
      class Meta:
          # I think this is what I do in order to override the default admin form? Not sure.
          form = RegistrationAdminForm
  </code></pre>
  
  <p>My RegistrationAdminForm looks like this:</p>
  
  <pre><code>class RegistrationAdminForm(forms.ModelForm):
      # course_detail, person, camp_shirt, comments
      person = forms.ModelChoiceField(queryset=Person.objects.filter(
          id=registration.person.id)
      )
  
      def __init__(self, registration, *args, **kwargs):
          super(RegistrationAdminForm, self).__init__(*args, **kwargs)
          self.fields['person'].queryset = Person.objects.filter(
              id=registration.person.id
          )
  
      class Meta:
          model = Registration
          fields = '__all__'
  </code></pre>
  
  <p><strong>Main Question</strong> : How do I change the admin form so that a specific queryset is returned for one of the fields in the django admin?</p>