Фильтрация элементов с помощью выпадающего списка - PullRequest
0 голосов
/ 14 мая 2019

Хотел бы отфильтровать функции (продукты), используя выпадающее меню.Каждая особенность (товар) получила тег (например, еда, напиток, случайный).Идея в том, что когда пользователь выбирает тег в меню, он показывает только те элементы, у которых есть этот тег.До сих пор я зашел так далеко, но пока не работает.PyCharm не выдает ошибку, но не работает.Чего мне не хватает?Спасибо!

my models.py

class Feature(models.Model):
FOOD = 'food'
DRINK = 'drink'
RANDOM = 'random'
TAGS = (
    (FOOD, 'food'),
    (DRINK, 'drink'),
    (RANDOM, 'random')
)
name = models.CharField(max_length=40, default='')
tags = models.CharField(max_length=20, choices=TAGS, default=ALL)

def __str__(self):
    return self.name

my views.py

def tags(request):
if request.GET.get('tags'):
    features_filter = request.GET.get('tags')
    listings = Feature.objects.filter(features_filter=features_filter)
else:
    listings = Feature.objects.all()

context = {'listings': listings}
return render(request, 'index', context)

my index.html

<form action="{% url 'index' %}" method="get" accept-charset="utf-8">
{% csrf_token %}
 <select name="tags">
     {% for feat in features %}
        <option value="{{feat.tags}}">{{ feat.tags }}</option>
     {% endfor %}
 </select>
<input type="submit" value="submit">
</form>


{% for feature in features %}            
  <h1{{ feature.name }}</strong></h1>
{% endfor %}

1 Ответ

0 голосов
/ 14 мая 2019

Попробуйте изменить это

listings = Feature.objects.filter(features_filter=features_filter)

на

listings = Feature.objects.filter(tags=features_filter)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...