Пользовательская страница администратора с полями как объектами

У меня есть 3 модели: Категория, Подкатегория, Продукт. Категория и подкатегория имеют отношения один-ко-многим. SubCategory и Product имеют отношения многие-ко-многим (ManyToManyField находится в Product). В настоящее время на странице администратора для Product отображается одно поле для SubCategory в виде поля множественного выбора. Но я хочу, чтобы поля для продукта были как объекты категории. Подкатегории должны быть разделены по категориям и пользователь должен иметь возможность выбрать подкатегорию из каждого из этих полей. Не могу разобраться с этим. Заранее спасибо!

models.py:

class Category(models.Model):
    name = models.CharField(max_length=150, unique=True)
    
    created_at = models.DateTimeField(default=timezone.now)
    modified_at = models.DateTimeField(default=timezone.now)
    
    def __str__(self):
        return self.name

class SubCategory(models.Model):
    name = models.CharField(max_length=150, blank=True)
    category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name='subcategories')
    created_at = models.DateTimeField(default=timezone.now)
    modified_at = models.DateTimeField(default=timezone.now)
    
    def __str__(self):
        return self.name

class Product(models.Model):
    name = models.CharField(max_length=150, blank=True)
    description = models.TextField(blank=True)
    price = models.IntegerField(default=-1)
    quantity = models.IntegerField(default=-1)
    image = models.ImageField(blank=True)
    created_at = models.DateTimeField(default=timezone.now)
    modified_at = models.DateTimeField(default=timezone.now)
    discount = models.ForeignKey(Discount, on_delete=models.PROTECT, blank=True)    
    subcategory = models.ManyToManyField(SubCategory)

    class Meta:
        ordering = ('-created_at',)

    def __str__(self):
        return self.name
Вернуться на верх