title: ForeignKey to abstract model
body: <p>I have an abstract Product model, and I wanted it to be able to hold more than one image, so I decided to make another Image model and have a ForeignKey to Product, however I quickly realised that's not possible. The reason I decided to go for abstract base model is performance gains since every child model is in its own table. Having a different Image model for each subclass sounds bad to me, since there will be more than 20 subclasses.</p>
  
  <pre><code>class Product(models.Model):
      title = models.CharField(max_length=50)
      description = models.CharField(max_length=50)
      category = models.ForeignKey('Category', on_delete=models.CASCADE, blank=False)
  
      class Meta:
          abstract = True
  
  class Book(Product):
      author = models.CharField(max_length=50)
      publisher = models.CharField(max_length=50)
  
  class Shoes(Product):
      colour = models.CharField(max_length=50)
      size = models.CharField(max_length=50)
  
  class Image(models.Model):
      product = models.ForeignKey(Product, on_delete=models.CASCADE, related_name='images')
      image = models.ImageField(upload_to=get_image_path, blank=True, null=True)
  </code></pre>
  
  <p>How can I overcome the issue?</p>