Пользовательская страница администратора с полями как объектами
У меня есть 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