'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

→ Ссылка