title: Django (admin.e104) must inherit from 'InlineModelAdmin'
body: <p>Trying to put some model as inline in the other two models gives some strange error (in title).</p>
  
  <p>I have two models of orders - remote and local. And In each of them i need to insert products in some unlimited quantity. Another aim is to show full list of products ordered locally and remotely in different lists.</p>
  
  <p>Solution for second aim: using second model of product inherited from first with it's own manager (objects).</p>
  
  <p>Solutions for aim number one: to use inlines in admin classes of orders for appending exactly proper product in order (local product to local order and remote product to remote order).</p>
  
  <p>Adding inline of local product to admin of local purchase works great. 
  But adding inline of remote product to inlines field of admin file of remote order returns error for admin class of remote order:</p>
  
  <pre><code>must inherit from 'InlineModelAdmin'.
  </code></pre>
  
  <p>It also returns error even after removing inline from admin file of local order.</p>
  
  <p>Some code like this 
  in models.py:</p>
  
  <pre class="lang-py prettyprint-override"><code>class RemotePurchaseModel(models.Model):
      title = models.CharField
      number = models.IntegerField
      ...
  
  class LocalPurchaseModel(models.Model):
      title = models.CharField
      number = models.IntegerField
      ...
  
  class LocalProductModel(models.Model):
      remote = models.BooleanField(default=False)
      actual_order = models.ForeignKey(to=LocalPurchaseModel, blank=True, null=True)
      remote_purchase = models.ForeignKey(to=RemotePurchaseModel, blank=True, null=True)
      ...
  
  class RemoteProductManager(djando.db.models.Manager):
      def get_queryset(self):
          return super(PurchasedProductManager, self).get_queryset().filter(remote=True)
  
  class RemoteProductModel(LocalProduct):
      proxy = True
      objects = RemoteProductManager
      ...
  
  ...
  </code></pre>
  
  <p>in admin.py</p>
  
  <pre class="lang-py prettyprint-override"><code>from .models import LocalProductModel
  from .models import RemoteProductModel
  from .models import LocalPurchaseModel
  from .models import RemotePurchaseModel
  from django.contrib import admin
  
  class LocalProductInline(admin.StackedInline):
      model = LocalProductModel
      extra = 1
  
  class RemoteProductInline(admin.StackedInline):
      model = RemoteProductModel
      extra = 1
  
  class LocalPurchaseAdmin(admin.ModelAdmin):
      list_display = ...
      fields = ...
      inlines = (LocalProductInline, )
  
  class RemotePurchaseAdmin(admin.ModelAdmin):
      list_display = ...
      fields = ...
      inlines = (RemoteProductInline, )
  
  ...
  admin.site.register(LocalPurchaseModel, LocalPurchaseAdmin)
  admin.site.register(RemotePurchaseModel, RemotePurchaseAdmin)
  </code></pre>
  
  <p>And also the reason of this variation is two show different set of fields for local and remote products in admin side. Of course all fields exist in LocalProductModel. 
  Any clues?
  Thanks.</p>