Исключение NoReverseMatch Django

Итак, я столкнулся с исключением NoReverseMatch в моем приложении Django. Оно показывает мне этот тип исключения: Reverse for 'user-profile' with arguments '('',)' not found. Попробован 1 шаблон(ы): ['profile/(?P[^/]+)/$']

feed_component.html код:
<div>
    {% for room in rooms %}
        <div>
            {% if request.user == room.host %}
            <a href="{% url 'update-room' room.id %}">Edit</a>
            <a href="{% url 'delete-room' room.id %}">Delete</a>
            {% endif %}

            <a href="{% url 'user-profile' room.host.id %}">@{{room.host.id}}</a>
            <h5>{{room.id}} --> <a href="{% url 'room' room.id %}">{{room.name}}</a></h5>
            <small>{{room.topic.name}}</small>
            <hr>
        </div>
    {% endfor %}

Больше всего меня удивило то, что в:

<a href="{% url 'user-profile' room.host.id %}">@{{room.host.id}}</a>

@{{room.host.id}} выводит именно то, что я хочу на странице - id. Но эта часть:

{% url 'user-profile' room.host.id %}"

Бросает исключение... и когда я меняю его на:

<a href="{% url 'user-profile' room.host %}">@{{room.host.id}}</a>

Нет исключений, все работает нормально, но мне действительно нужен этот идентификатор...

urls.py
path('profile/<str:pk>/', views.userProfile, name="user-profile"), 
views.py
def userProfile(request, pk):
    user = User.objects.get(id=pk)
    rooms = user.room_set.all()
    room_messages = user.message_set.all()
    topics = Topic.objects.all()
    context = {'user': user, 'rooms': rooms, 'room_messages': room_messages, 'topics': topics}
    return render(request, 'baseapplication/profile.html', context)
models.py

class Room(models.Model):
    host = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
    topic = models.ForeignKey(Topic, on_delete=models.SET_NULL, null=True)
    name = models.CharField(max_length=200)
    description = models.TextField(null=True, blank=True)
    participants =  models.ManyToManyField(User, related_name='participants', blank=True) 
    
    updated = models.DateTimeField(auto_now=True)
    created = models.DateTimeField(auto_now_add=True)

Есть идеи?

Вернуться на верх