之前我用过ModelSerializer,没有出现任何错误。当我用HyperlinkedModelSerializer这个错误替换它时抛出了
Could not resolve URL for hyperlinked relationship using view name "book
detail". You may have failed to include the related model in your API,
or incorrectly configured the `lookup_field` attribute on this field.
这是serializers.py文件:
class BookSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Book
fields = ['id', 'url', 'title', 'subtitle', 'isbn']
model.py
class Book(models.Model):
title = models.CharField(max_length=250)
subtitle = models.CharField(max_length=250)
author = models.CharField(max_length=100)
isbn = models.CharField(max_length=13)
def __str__(self):
return self.title
views.py
class BookListView(viewsets.ModelViewSet):
queryset = Book.objects.all()
serializer_class = BookSerializer
和urls.py
router = routers.DefaultRouter()
router.register('books', BookListView)
app_name = "books"
urlpatterns = [
path('', include(router.urls)),
]
视图名称book-detail在我的视图中不存在,可能是 Django 自动创建的,但我不知道在哪里找到并调试它?谢谢。
守候你守候我
相关分类