Выберите подкатегорию в соответствии с ее категорией

class Category(models.Model):
    name = models.CharField(max_length=50)

    def __str__(self):
        return self.name

class Sub_Category(models.Model):
    name = models.CharField(max_length=50)
    category = models.ForeignKey(Category, on_delete=models.CASCADE)

    def __str__(self):
        return self.name
    
class Product(models.Model):
    name = models.CharField(max_length=50)
    image = models.ImageField(upload_to='product')
    price = models.IntegerField()
    date_created = models.DateField(auto_now_add=True)
    category = models.ForeignKey(Category, on_delete=models.CASCADE, default='', null=False)
    sub_category = models.ForeignKey(Sub_Category, on_delete=models.CASCADE, default='', null= False)

    def __str__(self):
        return self.name

сейчас, если пользователь добавляет новый продукт в панели администратора, все подкатегории отображаются, я хочу показать подкатегорию, связанную с его категорией.

@admin.register(Category)
class CategoryAdmin(admin.ModelAdmin):
    list_display = ['name']

@admin.register(Sub_Category)
class Sub_CategoryAdmin(admin.ModelAdmin):
    list_display = ['name', 'category']

@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
    list_display = ['name', 'image', 'price', 'date_created', 'sub_category']
    raw_id_fields = ("sub_category",)

я нашел это решение, но оно не сработало

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