【问题标题】:How can i show sub-category in category into data collapse, Using Djagno如何在数据折叠中显示类别中的子类别,使用 Django
【发布时间】:2018-12-03 07:57:32
【问题描述】:

我想使用 django 将类别中的子类别显示到数据折叠中。因为我是一个菜鸟开发人员,所以我无法理解逻辑。类别和子类别模型是,

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

我想这样展示,

【问题讨论】:

    标签: django django-templates django-views


    【解决方案1】:

    假设category 是Category 模型的一个实例

    category.subcategory_set.all()

    将为您提供特定类别的所有子类别的查询集

    所以你只需要遍历所有类别并为每个类别获取子类别

    【讨论】:

      【解决方案2】:

      我解决了这个问题。它只是一个 if else 的逻辑。

      <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>
      

      【讨论】:

        猜你喜欢
        • 2019-12-02
        • 2019-12-02
        • 1970-01-01
        • 2019-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-01
        • 2014-11-24
        相关资源
        最近更新 更多