'ManyRelatedManager' object is not subscriptable django
Есть 2 объекта с отношением многие ко многим, пытаюсь получить доступ в шаблоне к одному через другой и выскакивает ошибка:
'ManyRelatedManager' object is not subscriptable
html:
{% for room in all_rooms %}
<li class="menu__item menu__item_interiors"><a href="{% url 'decision:style' rmslg=room.slug stslg=room.styles|first %}">{{ room.name }}</a></li>
{% endfor %}
Решение:
{% with room.styles.all|first as style_default %}
<li class="menu__item menu__item_interiors"><a href="{% url 'decision:style' rmslg=room.slug stslg=style_default.slug %}">{{ room.name }}</a></li>
{% endwith %}
Ответы (1 шт):
Автор решения: Necko
→ Ссылка
В каком то из полей room у тебя связь ManyToManyField, которая вызывает ошибку, мне кажется ошибка в строке:
stslg=room.styles|first
Попробуй изменить ее так:
stslg=room.styles.all|first
Можешь посмотреть эти ответы об обработке ManyToManyField в Django Templates:
https://stackoverflow.com/questions/3411961/querying-many-to-many-fields-in-django-template/3411979
https://stackoverflow.com/questions/4270330/django-show-a-manytomanyfield-in-a-template