Как я могу показать подкатегорию в категории в коллапс данных, используя Djagno - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу показать подкатегорию в категории в коллапс данных, используя django.Поскольку я - разработчик Noob, поэтому я не могу понять логику.Модель категории и подкатегории:

category.py

class Category(models.Model):
    category = models.CharField(max_length=120)
    timestamp = models.DateTimeField(auto_now_add=True)

subcategory.py

class SubCategory(models.Model):
    sub_category = models.CharField(max_length=120)
    category = models.ForeignKey(Category, on_delete=models.CASCADE, null=True, blank=True)
    timestamp = models.DateTimeField(auto_now_add=True)

Я хочу показать эти значения, используя generic.ListView

views.py

class PagetListView(ListView):
    model = ModelName
    template_name = 'template.html'
    context_object_name = 'main_content'

def get_context_data(self, *args, **kwargs):
        context = super().get_context_data(*args, **kwargs)
        context['category_list'] = Category.objects.all()
        # context['sub_category'] =  
        return context

Я хочу показать вот так, enter image description here

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Я решаю проблему.Ничего, просто логика, если еще.

<div>
{% for category in category_list %}
<div id="headingTwo">
<h5 class="mb-0">
<button class="btn btn-link collapsed" data-toggle="collapse" data-target="#{{ category.category }}" aria-expanded="false" aria-controls="collapseTwo">
{{ category.category }}
</button>
</h5>
</div>
<div id="{{ category.category }}" class="collapse" aria-labelledby="headingTwo" data-parent="#accordion">
<div class="sub-category">
{% for sub_cat in sub_category %}
{% if sub_cat.category == category %}
<a href="{{ sub_cat.get_absolute_url }}" class="">{{ sub_cat.sub_category }}</a><br/>
{% endif %}
{% endfor %}
</div>
</div>
{% endfor %}
</div>
0 голосов
/ 03 декабря 2018

Предположим, category является экземпляром модели Category

category.subcategory_set.all ()

предоставит вам набор запросов всех подкатегорий для перкулярного.категория

Так что вам просто нужно перебрать все категории и получить подкатегории для каждой

...