В настоящее время я занимаюсь обучением по Связям и гиперссылкам API .Однако я столкнулся со странной проблемой, которую не могу решить.Мои serializers.HyperlinkedIdentityField
и serializers.HyperlinkedRelatedField
, похоже, не обнаруживают пространство имен, которое я использую.
Мои сериализаторы выглядят так:
class SnippetSerializer(serializers.HyperlinkedModelSerializer):
owner = serializers.ReadOnlyField(source='owner.username')
highlight = serializers.HyperlinkedIdentityField(view_name='snippets:snippet-highlight', format='html')
class Meta:
model = Snippet
fields = ('url', 'id', 'highlight', 'owner', 'title', 'code', 'linenos', 'language', 'style')
class UserSerializer(serializers.HyperlinkedModelSerializer):
snippets = serializers.HyperlinkedRelatedField(many=True, view_name='snippets:snippet-detail', read_only=True)
class Meta:
model = User
fields = ('url', 'id', 'username', 'snippets')
Что в значительной степени совпадает с руководством, за исключением того, что яя добавляю view_name='snippets:snippet-detail'
в поле сериализатора.
Я создаю свое пространство имен в соответствии с документацией Django , добавляя app_name = 'snippets'
над моим urlpatterns
.
Это ошибка, которую я получаю
Неправильно настроен в / snippets /
Не удалось разрешить URL-адрес для связи с гиперссылкой, используя имя представления «snippet-detail».Возможно, вам не удалось включить связанную модель в ваш API или неправильно настроить атрибут lookup_field
в этом поле.
Как вы видите, я подошел к проблеме так же, как другие люди, нобез решения вопроса.У кого-нибудь есть идеи о том, что я мог бы попробовать дальше?