Как реализовать поиск от и до?

Хочу добавить в приложение возможность поиска по дате от и до. введите сюда описание изображения

Форму StockHistorySearchForm создал для получения временивведите сюда описание изображения Во вьюшке функция showresults кажется мне совсем кривой, но не понимаю, как это связатьвведите сюда описание изображения Как правильно записать в templates так и не понял. Пару раз получалось реализовать поля для получения даты, но тогда исчезал поиск по имени.введите сюда описание изображения

А вот еще модели, на всякий введите сюда описание изображения Подскажите, куда двигаться

Лучше всего поиск и фильтры реализовывать на фронте, с помощью JS это довольно просто делается. Если все же хочется на серверной стороне, то пожалуйста. Во-первых, создавать форму нужно используя подкласс Form, а не ModelForm:

from django import forms  

class Search(forms.Form):
    query = forms.CharField(...)

Форму объявляем с методом GET в Template. Во views Вам нужно искать GET параметр с именем поля формы, если брать пример выше, это query, например:

def view(request):
...
if request.method == 'GET':
    if request.GET.get('query'):
        result = Model.objects.filter(...)

А дальше, на основании этого параметра можно фильтровать или наоборот исключать, как пожелаете. Этот result пихаем в контекст, вместо прошлого QuerySet, тем самым будут выведены только нужные объекты.

Вернуться на верх