У меня есть абстрактная модель Product, и я хотел, чтобы она могла содержать более одного изображения, поэтому я решил создать другую модель Image и использовать ForeignKey to Product, однако быстро понял, что это невозможно. Причина, по которой я решил использовать абстрактную базовую модель, заключается в повышении производительности, поскольку каждая дочерняя модель находится в отдельной таблице. Мне по-разному показывать разные модели изображений для каждого подкласса, поскольку их будет более 20.
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)
Как мне решить эту проблему?