def post_list(request):
school_slug = request.GET.get('school', None)
category_slug = request.GET.get('category', None)
if VideoPost.objects.filter(approve = 1).exists():
posts = VideoPost.objects.all().filter(approve = 1)
if school_slug:
posts = posts.filter(school=school_slug)
if category_slug:
posts = posts.filter(category=category_slug)
posts = posts.order_by('-date_posted')
return render(request, 'stories/post_list.html', {'posts': posts})
return render(request, 'stories/no_post.html')
Я фильтрую сообщения, получая параметр URL, который будет
1) example.com/post/
для отображения всех сообщений
2) example.com/post/?category=something
для отображения всех сообщений с something
категория
3) example.com/post/?category=something&school=someschool
для отображения с двумя фильтрами
4) Нет записи. html страница, когда нет записи в категории.
Первая три фильтра работают нормально, но как я должен фильтровать для отображения страницы no_post. html? Я попытался отфильтровать в exist (), тогда он правильно отобразил бы no_post. html, но не правильно отобразил бы 1).
Как бы я мог заставить работать все 4 опции?