Как добавить HyperlinkedRelatedField в модель из другого приложения?

Ниже приведено urls.py из users приложения.

from django.urls import path

from . import views


app_name = 'users'

urlpatterns = [
    path('', views.UserList.as_view(), name='user-list'),
    path('<int:id>/', views.UserDetail.as_view(), name='user-detail'),
]

url conf из snippets приложения:

from django.urls import path

from . import views


app_name = 'snippets'

urlpatterns = [
    path('', views.SnippetList.as_view(), name='snippet-list'),
    path('<int:pk>/', views.SnippetDetail.as_view(), name='snippet-detail'),
    path('<int:pk>/highlight/', views.SnippetHighlight.as_view(), name='snippet-highlight'),
]

и вот SnippetSerializer

from rest_framework import serializers

from . import models


class SnippetSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = models.Snippet
        fields = ['id', 'owner', 'title', 'code', 'highlight', 'linenos', 'language', 'style']

    highlight = serializers.HyperlinkedIdentityField(view_name='snippets:snippet-highlight', format='html')
    owner = serializers.HyperlinkedRelatedField(
        read_only=True,
        view_name='users:user-detail'
    )

Ошибка, которую я получил

Неправильная конфигурация в /snippets/ Не удалось разрешить URL для отношения с гиперссылкой, используя имя представления "users:user-detail". Возможно, вы не включили связанную модель в свой API или неправильно настроили атрибут lookup_field для этого поля.

Моя ошибка в том, что я указал id вместо pk в шаблоне url приложения users. Такие вещи заставляют меня чувствовать себя расстроенным.

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