Что не так с моей логикой в циклах for — шаблоны django

#django #for-loop #django-templates

#django #for-loop #django-templates

Вопрос:

Это моя home.html проблема с if block :

                     {% for menu in menus %}
                      <div class="dropdown show">
                        <a class="btn dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                        {{ menu.main_menu_item }}
                                      </a>
                        <ul class="dropdown-menu" aria-labelledby="dropdownMenuLink">
                          {% for item in menu.items.all %}
                            {% for second_item in item.items_second_level.all %}
                              {% if item.items_second_level.all != None %}
                                  <li class="dropdown-submenu"><a class="dropdown-item dropdown-toggle" href="#">{{ item.sub_menu_item }}</a>
                                    <ul class="dropdown-menu">
                                      <li><a class="dropdown-item" href="#">{{second_item.sub_menu_item}}</a></li>
                                    </ul>
                                  </li>
                              {% else %}
                                <li><a class="dropdown-item" href="#">{{ item.sub_menu_item }}</a></li>
                              {% endif %}
                            {% endfor %}        
                          {% endfor %}
                        </ul>
                      </div>
                    {% endfor %}
 

А именно, {% else %} часть всегда «пробелов». Когда я меняю условие на {% if item.items_second_level.all == None %}

опять же, показаны только те элементы, которые удовлетворяют if condition get (очевидно, на этот раз те, которые не были показаны ранее). он ведет себя так, как будто его нет else . Кто-нибудь знает, в чем может быть проблема?

Комментарии:

1. Если во втором lvl нет элементов, вам нечего повторять, если условие должно быть соответствующим циклу

2. Я буквально не могу поверить, что я это сделал. Спасибо!