def sub_a(request, slug_category, slug_sub_a): search = request.GET.get('results', None) brand = request.GET.get('brand', None) context, filter_by = {}, {} category = get_object_or_404(Category, slug=slug_category) sub_a = get_object_or_404( SubA, slug=slug_sub_a, category__slug=slug_category ) if brand: brand = get_object_or_404(Brand, slug=brand) filter_by['brand__slug'] = brand context['current_category'] = brand else: categories = sub_a.subb_set.all() if categories.exists(): context['categories'] = categories else: # Al no encontrar sub_b relacionados entonces hay marcas. context['brands'] = sub_a.brand.all() context['current_category'] = sub_a filter_by.update({'category__slug': category.slug, 'sub_a__slug': sub_a.slug}) context['products'] = Product.filter_products(search, filter_by) return render(request, 'base_category.html', context)
def sub_b(request, slug_category, slug_sub_a, slug_sub_b): search = request.GET.get('results', None) brand = request.GET.get('brand', None) context, filter_by = {}, {} category = get_object_or_404(Category, slug=slug_category) sub_a = get_object_or_404( SubA, slug=slug_sub_a, category__slug=slug_category ) sub_b = get_object_or_404(SubB, slug=slug_sub_b, sub_a__slug=slug_sub_a) if brand: brand = get_object_or_404(Brand, slug=brand) filter_by['brand__slug'] = brand context['current_category'] = brand else: context.update({'brands': sub_b.brand.all(), 'current_category': sub_b}) filter_by.update({'category__slug': category.slug, 'sub_a__slug': sub_a.slug, 'sub_b__slug': sub_b.slug}) context['products'] = Product.filter_products(search, filter_by) return render(request, 'base_category.html', context)
def category(request, slug_category): search = request.GET.get('results', None) category = get_object_or_404(Category, slug=slug_category) filter_by = {'category__slug': category.slug} context = {'current_category': category, 'categories': category.suba_set.all(), 'products': Product.filter_products(search, filter_by)} return render(request, 'base_category.html', context)