Django Search fonction со всеми моделями

я создал представление, где я вызвал все мои модели для моей функции поиска, но это не работает! Я новичок в django! Я хочу искать все мои модели по ее Charfield полю

views.py

def all_search_view(request):
    faculty = Faculty.objects.all()
    job = Job.objects.all()
    condition = Condition.objects.all()
    piece = Piece.objects.all()
    partnership = Partnership.objects.all()
    book = Book.objects.all()
    category = Category.objects.all()
    author = Author.objects.all()
    publication = Publication.objects.all()

    query = request.GET.get('q')

    if query:
        faculty = Faculty.objects.filter(Q(name__icontains=query))
        job = Job.objects.filter(Q(name__icontains=query))
        condition = Condition.objects.filter(Q(access_condition__icontains=query))
        piece = Piece.objects.filter(Q(name__icontains=query))
        partnership = Partnership.objects.filter(Q(name__icontains=query))
        book = Book.objects.filter(Q(editor__icontains=query) | Q(title__icontains=query))
        category = Category.objects.filter(Q(name__icontains=query))
        author = Author.objects.filter(Q(name__icontains=query))
        publication = Publication.objects.filter(Q(author__icontains=query) | Q(title__icontains=query)

        search_results = chain(faculty, job, condition, piece, partnership, book, category, author, publication)

    context = {
        'author': author,
        'faculty': faculty,
        'job': job,
        'condition': condition,
        'piece': piece,
        'partnership': partnership,
        'category': category,
        'publication': publication,
        'book': book,
        'search_results': search_results,
    }

    return render(request, 'all_search.html', context)
Вернуться на верх