Внешний ключ с несколькими моделями?

Я создаю сайт электронной коммерции. Есть несколько категорий. Например, телефоны, компьютеры и другие. Я создал модель для каждой из них. В OrderItems я хочу использовать внешний ключ для каждой из них. Поэтому я хочу использовать несколько моделей в ForeignKey.

    models.py
class Telefon(models.Model):
    name = models.CharField(max_length=200)
    category = models.CharField(max_length=300, choices=TELEFON, default="xiaomi")

    price = models.FloatField()
    image = models.ImageField(null=True, blank=True)

    def __str__(self):
        return self.name

    @property
    def imageURL(self):
        try:
            url = self.image.url
        except:
            url = ''
        return url

class TV(models.Model):
    name = models.CharField(max_length=200)
    category = models.CharField(max_length=300, choices=TELEFON, default="xiaomi")

    price = models.FloatField()
    image = models.ImageField(null=True, blank=True)

    def __str__(self):
        return self.name

    @property
    def imageURL(self):
        try:
            url = self.image.url
        except:
            url = ''
        return url

Product={'Telefon', 'TV'}
class OrderItem(models.Model):
    product = models.ForeignKey(Product, on_delete=models.SET_NULL, null=True)
    order = models.ForeignKey(Order, on_delete=models.SET_NULL, null=True)
    quantity = models.IntegerField(default=0, null=True, blank=True)
    date_added = models.DateTimeField(auto_now_add=True)

    @property
    def get_total(self):
        total = self.product.price * self.quantity
        return total

Итак, как я могу использовать несколько моделей в поле Foreign Key в моей модели OrderItems.

Вернуться на верх