Как создать множественный фильтр "текст содержит" в фильтрах Django?
Я работаю с django сайтом и использую django-filters для создания фильтров. Поэтому я создал модель следующим образом:
class Bids(models.Model):
Services=models.CharField(max_length=300)
и это поле содержит множество случайных слов, таких как "услуги, рабочая сила, безопасность, машины, химикаты,... и т.д."
поэтому я создал django-фильтр следующим образом:
class BidsFilter(django_filters.FilterSet):
Services=CharFilter(field_name='Services',lookup_expr='icontains')
class Meta:
model=Bids
fields="Services"
и на моем представлении я использую этот фильтр следующим образом:
def index(request):
bidsData= Bids.objects.all()
myFilter=BidsFilter(request.GET,queryset=bidsData)
bidsData=myFilter.qs
context = {
'Bids': bidsData,
'myFilter':myFilter
}
return render(request,"base.html",context)
и на моем шаблоне я показываю этот фильтр как форму:
<form method="GET" >{{ myFilter.form }}<button class="btn-btn-
primary"type="submit">Apply Filter</button></form>
прямо сейчас происходит следующее: когда я набираю слово, например, manpower, печатаются записи с этим словом. а если я набираю другое слово 'services', то печатаются только эти записи.
Я хочу создать фильтр по нескольким ключевым словам Например, если кто-то набирает 'manpower', то выводятся те записи, в которых есть 'manpower', а также если кто-то набирает 'services', то выводятся те записи, в которых есть слово 'services' и так далее.
это как фильтр тегов знаете как twitter и instagram
может ли кто-нибудь показать хороший способ сделать это. заранее спасибо <3
