Как лучше решить проблему с urls django

У меня есть раздел жилые интерьеры на сайте, соответственно типичный url выглядит, так https://caparolcenterspb.ru/decision/livingrooms/kitc.. (комната и стиль)

Однако у разных комнат могут совпадать стили и при поиске стили во views.py может выдать несколько стилей и ошибку

views.py

selected_room = Room.objects.get(slug=rmslg) 
style = Style.objects.get(slug=stslg) 

При попытке замены slug на разный у стилей в зависимости от комнаты(пример provans_kitchen), возникает ошибка в template(просто provans по умолчанию проставить не получится)

residentialInteriors.html

{% for room in all_rooms %} 
<li class="menu__item menu__item_interiors"><a href="{% url 'decision:style' rmslg=room.slug stslg='provans' %}">{{ room.name }}</a></li> 
{% endfor %} 

У меня есть 2 идеи решения(предпочтительнее 2):

1.либо изменить stslg в template по умолчанию на 'provans_' + str(room.slug), но эта строчка не работает(тем более не факт что везде будет provans)

2.либо искать style в views.py не только по stslg, но и по rmslg, однако для этого в модели style необходимо создать поле room наследующееся от модели room, что тоже у меня не выходит, так как Room объявлен дальше чем Style

models.py

class Style(models.Model): 
name = models.CharField(max_length=30) 
full_name = models.CharField(max_length=50) 
slug = models.SlugField() 
img = models.ImageField(upload_to='img/') 
walls = models.TextField() 
floor = models.TextField() 
roof = models.TextField() 

def __str__(self): 
return self.full_name 

class Meta: 
verbose_name = 'Стили' 
verbose_name_plural = 'Стили' 

class Room(models.Model): 
name = models.CharField(max_length=30) 
slug = models.SlugField() 
styles = models.ManyToManyField(Style) 

def __str__(self): 
return self.name 

class Meta: 
verbose_name = 'Комнаты' 
verbose_name_plural = 'Комнаты'

Ответы (0 шт):