Итак, у меня есть этот набор данных в моей БД, которые разделены на категории.
Затем у меня есть раскрывающееся меню в моем шаблоне, которое предназначено для фильтрации категорий. Когда страница загружена, отображаются все данные. Затем, если пользователь щелкает указанную категорию c в раскрывающемся меню, я хочу, чтобы отображались данные с выбранной категорией. Но я не уверен, можно ли использовать фильтр запросов в теге шаблона. Вот мой код.
models.py
class SeedCategory(models.Model):
objects = models.Manager()
category = models.CharField(max_length=10, default="book")
def __str__(self):
return self.category
class AllSeed(models.Model):
objects = models.Manager()
category = models.ForeignKey(SeedCategory, on_delete=models.CASCADE, related_name = 'seed', null=True, default=None)
title = models.CharField(max_length = 100)
def __str__(self):
return self.title
views.py
def seed(request):
seeds = AllSeed.objects.all()
context = {
'seeds':seeds,
'categories' : categories
}
return render(request, 'dansang/seed.html', context)
template
<div class="row">
<div class="col col-6">
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<strong>Seeds</strong>
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<button class="dropdown-item" id="seeAllCat">See All</button>
<div class="dropdown-divider"></div>
{% for cat in categories %}
<button class="dropdown-item" id="{{cat-cat.category}}" value="{{cat.category}}"></button>
{% endfor %}
</div>
</div>
</div>
</div>
{% for item in seeds reversed %}
<div class="row seed-row-allCat">
<a href="{{item.url}}" class="all-links" id="seed#{{forloop.revcounter}}" target="_blank" rel="noopener noreferrer">
<div class="col">
<span class="seed-title">{{item.category}} {{item.title}}</span><br class="mobile-only">
<span class="seed-subtitle"> | {{item.subtitle}}</span>
</div>
</a>
</div>
{% endfor %}