title: Django Admin Inlines with many fields, possible to have inline add button create popup?
body: <p>I've got 3 models:</p>
  
  <pre><code>class Top(models.Model):
      toptitle = models.CharField(max_length=255, verbose_name='top title')
  
  class Middle(models.Model):
      top = models.ForeignKey(Top)
      middletitle = models.CharField(max_length=255, verbose_name='middle title')
      importantfield1 = models.TextField(verbose_name='important field 1')
      importantfield2 = models.TextField(verbose_name='important field 2')
      ...
      importantfield20 = models.TextField(verbose_name='important field 20')
  </code></pre>
  
  <p>Now when I'm viewing the Admin page for a Top, I want to see what Middles are related to it (and be able to add and edit Middles from this page or from a link on this page).</p>
  
  <p>I can do that easily enough with inlines. The problem is it becomes unwieldy with so many (required) fields in Middle.</p>
  
  <p>If I specify that the inline is only to show middletitle</p>
  
  <pre><code>class MiddleInline(admin.TabularInline):
      model = MiddleInline
      fields = ('middletitle',)
      extra = 0
  </code></pre>
  
  <p>I've got two problems. The first is that there is no way for me to get to the page on which I can edit all of the fields for Middles that already exist (without having to go to the Admin menu, selecting Middle and having to find the right Middle there). The second problem is that if I try to add another Middle from this inline, it allows me to create a middle with just a middletitle, but leaving empty all of the required importantfields.</p>
  
  <p>I've been able to deal with the first issue by adding a link to edit the object:</p>
  
  <pre><code>class MiddleInline(admin.TabularInline):
      def changeform_link(self,instance):
          if instance.id:
              changeform_url = reverse(
                  'admin:myapp_middle_change', args=(instance.id,)
              )
              return '&lt;a href="'+ changeform_url + '" target="_blank"&gt;Details&lt;/a&gt;'
          return ''
      changeform_link.allow_tags = True
      changeform_link.short_description = ''   # omit column header
  
      model = MiddleInline
      fields = ('middletitle','changeform_link')
      extra = 0
  </code></pre>
  
  <p>but now I'm not sure how to deal with the second problem. </p>
  
  <p>Ideally I'd like the 'Add Another Middle' section to open up a pop up for creating a new Middle (with the Top already set and having/requiring all of the importantfields), which when saved would refresh the inline.</p>
  
  <p>Is there a way of doing this? Am I approaching this entirely wrong?</p>