Создать новый для l oop из для l oop in Django - PullRequest
0 голосов
/ 08 мая 2020

Если вы посмотрите на фрагмент кода ниже, вы поймете, что именно я хочу. Хватит, даже если я получу только то количество машин, которые соответствуют этому условию. Или было бы здорово, если бы мы могли создать новый l oop из автомобилей, которые соответствуют этому условию.

{% for car in cars %}
    {% if car.color == 'white' %}
            create new for loop from white cars
            or
            give me the numbers of white cars
    {% endif %}
{% endfor %}

Ответы [ 2 ]

1 голос
/ 08 мая 2020

Вы можете использовать тег шаблона regroup, чтобы сгруппировать список автомобилей по цвету, а затем выбрать список автомобилей белого цвета для перебора.

{% regroup cars by color as cars_grouped_by_color %}



{% for cars in cars_grouped_by_color %}
  {% if cars.grouper == 'white' %}
    {% for car in cars.list %}
      ...
    {% endfor %}
  {% endif %}
{% endfor %}

Обратитесь к перегруппировать документацию подробнее.

1 голос
/ 08 мая 2020

Это невозможно сделать в шаблоне. Измените оператор запроса ORM.

white_cars = Car.objects.filter(color='white')

И используйте его в своем шаблоне с одним l oop.

{% for car in white_cars %}
    // Your code
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...