Бренд Фильтр по категориям в шоппинге django rest - PullRequest
0 голосов
/ 28 октября 2019

У меня проблемы с фильтрацией Brand по Category в Django Rest Framework.

class Category(TimeStamp):
    name = models.CharField(max_length=100)
    slug = models.SlugField(max_length=100, unique=True, blank=True)
    icon = models.ImageField(upload_to='category_icons', null=True, blank=True)
    parent = models.ForeignKey('self', on_delete=models.SET_NULL, related_name='children', null=True, blank=True)



class Brand(models.Model):
    brand_name = models.CharField(max_length=150)
    brand_image = models.ImageField(upload_to='brand_images', null=True, blank=True)
    category = models.ForeignKey(Category, on_delete=models.DO_NOTHING, null=True)

здесь у меня две модели. Например, у меня есть категория типа Clothing -> Foot Wear -> Shoes, если пользователь входит в категорию Clothing, я должен получить все бренды в Clothing, но когда я перехожу в раздел Shoes, я должен получить все бренды в категории Shoes. Для этого Как я могу написать query_set? Любая помощь будет оценена! Заранее спасибо!

1 Ответ

1 голос
/ 28 октября 2019

Добавить связанное имя в категорию внешнего ключа

category = models.ForeignKey(Category, on_delete=models.DO_NOTHING, null=True, related_name="brands")

Тогда

clothing_category = Category.objects.get(name="Clothing")
clothing_brands = clothing_category.brands.all()

shoe_category = Category.objects.get(name="Shoes")
shoe_brands = shoe_category.brands.all()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...