Фильтры Django начинаются с
фильтры, создав очень простой сайт. Есть представление и пользователь ищет объект, который я добавил как администратор.
Views.py
from django.shortcuts import render
from .filters import *
def home(request):
myqs = Kati.objects.all()
myFilter = SearchForm(request.GET, queryset=myqs)
return render(request, 'home.html', {'myFilter':myFilter})
Models.py
class Kati(models.Model):
name = models.CharField(max_length=200)
product = models.CharField(max_length=200)
timi = models.CharField(max_length=200)
Filters.py
import django_filters
class SearchForm(django_filters.FilterSet):
class Meta:
model = Kati
fields = ['name','product','timi']
Html
<form action='' method='get'>
{{myFilter.form}}
<button>OK</button>
</form>
{%for i in myFilter.qs%}
<p>{{i.name}}</p>
<p>{{i.product}}</p>
<p>{{i.timi}}</p>
{%endfor%}
Это работает, но есть ли способ показать объект, просто набрав первую букву. Например, если name
- это abcd
, показать объект, если написать ab
. Например, __startswith__
.