Ошибка «Не удалось разрешить URL для связи с гиперссылкой» при попытке отобразить теги в модели тегов - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь добавить модель тега в Django каркас отдыха. Модель очень проста:

class Tag(models.Model):
    name = models.CharField(max_length=128, primary_key=True)

, а также Сериализатор:

class TagSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Tag
        fields = '__all__'

и просмотр:

class TagView(viewsets.ModelViewSet):
    queryset = Tag.objects.all()
    serializer_class = TagSerializer

urls.py:

router = routers.DefaultRouter()
router.register(r'tag', views.TagView)


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include(router.urls)),
    url(r'^api-auth/', include('rest_framework.urls'))
]

После этого я могу получить доступ к определенному тегу, например:

http://127.0.0.1: 8000 / tag / SharePoint /

Но я не могу перечислить все из них:

http://127.0.0.1: 8000 / tag

Приводит к этой ошибке:

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

Нужно ли добавлять поле идентификатора в модель?

1 Ответ

0 голосов
/ 20 апреля 2020

Ваш код выглядит нормально, можете ли вы изменить имя тега модели на что-то другое, например «Nametag», внести соответствующие изменения и проверить, не появляется ли такая же ошибка. Тег может быть ключевым словом

...