Как сгруппировать эти базы по одному адресу?
{'street_number': '3', 'street_name': 'Raycraft', 'street_type': 'Dr', 'municipality': 'Amherstview', 'postal_code': 'K7N1Z1', 'type_of_reports': 'Valuation'}, {'street_number': '3', 'street_name': 'Raycraft', 'street_type': 'Dr', 'municipality': 'Amherstview', 'postal_code': 'K7N1Z1', 'type_of_reports': 'Inspection'}
Сгруппируйте эти значения по адресу ?
Например, результат должен быть таким: {'street_number': '3', 'street_name': 'Raycraft', 'street_type': 'Dr', 'municipality': 'Amherstview', 'postal_code': 'K7N1Z1', 'type_of_reports': ['Оценка', Инспекция]}
Предполагаю, что каждый из этих ключей является именем поля в модели. Если вы хотите сделать это непосредственно в шаблоне, вы можете использовать regroup
В вашей модели добавьте свойство, которое представляет собой строку со всей информацией, которую вы хотите сгруппировать:
@cached_property
def id_str(self):
return f'{self.street_number} {self.street_name}, {self...}'#add all fields you wish to group by
Затем в представлении добавьте к контексту кверисет модели и в шаблоне перегруппируйте по этому свойству (предположим, что объект контекста называется кверисетом):
{% regroup queryset by id_str as regrouped_queryset %}
<ul>
{% for address in regrouped_queryset %}
<li>{{ address.grouper }}</li>
<ul>
{% for each in address.list %}
<li>{{ each.type_of_reports }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>