Мне необходимо синхронизировать отображение из двух разных словарей по одному id. В template из вьюхи передаются два словаря - один сформирован пагинатором ( и в этом главная особенность):
all_persons = Person.objects.all()
current_page = Paginator(all_persons, 10)
item_list = current_page.page(page_number)
Другой, назовем его people
- формируется тоже во вьюхе, где для каждого item.id из tem_list, записанны некоторые данные, наподобии {2: <QuerySet [<Person: Сеня>]>, 3: <QuerySet [<Person: Вова>]>}
.
Вопрос - как в template отобразить данные из второго словаря people
так, чтобы item.id
из первого словаря можно было использовать как идентификатор для словаря people
?
Сейчас я в цикле перебираю данные из первого словаря, и хочу в определенной строчке подтянуть данные из другого словаря:
{% for object in tem_list %}
<tr>
<th scope="row">{{ object.name }} {{ object.last_name }}</th>
<td>{{object.phone}} </td>
<td>{{ object.email }}</td>
<td>{{ object.region.name }}</td>
<td>{% with a=object.id %} {{people.а}} {% endwith %} </td>
<td>Edit</td>
</tr>
{% endfor %}
но этого, к сожалению не происходит :( Если же напрямую указать индекс {{people.2}}
- то данные отобразятся. Равно, как и отобразится значение а, если написать {{а}}
. Но как сделать так, чтобы по значению object.id
отображались данные из словаря people
, ума не приложу.
Подскажите плз!!! Буду весьма вам признателен!
Возможно нужно как-то по другому формировать второй словарь во вьюхе, чтобы можно было к нему обращаться из template? Я хотел было добавить данные в item_list напрямую во вьюхе через append(), но у меня это не получилось.
Updated 7 Feb. 2018, 15:25 by oleg_n.