Я использую django-filter==2.1.0
для моего поискового фильтра.Теперь мне нужно добавить вызов ajax в мой фильтр поиска.Мои коды приведены ниже:
views.py
def test_view(request):
book_list = Book.objects.all()
book_filter = BookFilter(request.GET, queryset=book_list)
return render(request, 'test.html', {'filter': book_filter})
test.html
{% extends 'base.html' %}
{% load widget_tweaks %}
{% block content %}
<form method="get">
{{ filter.form.as_p }}
<button type="submit">Search</button>
</form>
<ul>
{% for book in filter.qs %}
<li>{{ book.name }}</li>
{% endfor %}
</ul>
{% endblock %}
filters.py
class BookFilter(django_filters.FilterSet):
publication = django_filters.ModelMultipleChoiceFilter(queryset=Publication.objects.all(), widget=forms.CheckboxSelectMultiple)
authors = django_filters.ModelMultipleChoiceFilter(queryset=Author.objects.all(), widget=forms.CheckboxSelectMultiple)
categories = django_filters.ModelMultipleChoiceFilter(queryset=Category.objects.all(), widget=forms.CheckboxSelectMultiple)
class Meta:
model = Book
fields = ['publication', 'authors', 'categories', ]
models.py
class Book(models.Model):
name = models.CharField(max_length=100)
publication = models.ForeignKey(Publication, on_delete=models.CASCADE)
authors = models.ManyToManyField(Author, through='AuthorBook')
categories = models.ManyToManyField(Category, through='BookCategory')
В ajax необходимо указать значение URL.Джанго-фильтр работает автоматически.Итак, я не могу понять, как реализовать вызов ajax с django_filter.Заранее спасибо.