Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Author(models.Model):
- title = CharField()
- class Genre(models.Model):
- title = CharField()
- class Book(models.Model):
- title = CharField()
- author = ManyToManyField(Author)
- genre = ManyToManyField(Genre)
- if request.POST:
- book_list = Book.objects.all() #get all books from db
- books = []
- request_list = request.POST.getlist('genre') #select list of genres in request
- for item in request_list:
- add_book = report_list.filter(genre=r_request) #queryset of book filtered by each genre
- books.append(add_book)
- book_list = book_list.exclude(genre=item)
- request_list = request.POST.getlist('author') #select list of authors in request
- for item in request_list:
- add_book = report_list.filter(author=item) #queryset of book filtered by each author
- books.append(add_book)
- book_list = book_list.exclude(author=item)
- return ...
- 'books': books
- genre_list= request.POST.getlist('genre')
- author_list = request.POST.getlist('author')
- books = Book.objects.filter(genre__in=genre_list,author__in=author_list)
- from django.db.models import Q
- genre_list= request.POST.getlist('genre')
- author_list = request.POST.getlist('author')
- books = Book.objects.filter(Q(genre__in=genre_list) | Q(author__in=author_list))
- genre_list= request.POST.getlist('genre')
- author_list = request.POST.getlist('author')
- query = None
- if gender_list:
- gender_q = Q(genre__in=genre_list)
- query = gender_q
- if author_list:
- author_q = Q(author__in=author_list)
- if gender_list:
- query|=author_q
- else:
- query = author_q
- books = []
- if query:
- books = Book.objects.filter(query).distinct()
Add Comment
Please, Sign In to add comment