首页 > 解决方案 > Django rest 框架 to_representation 必须实现

问题描述

这个问题与这个论坛上的其他主题有相似的标题,但我确信这不是重复的,因为我没有覆盖我的分页详细信息或任何东西(结果证明这是其他问题的原因)。

无论如何,Django提出的to_representation()必须实现。我完全被困住了,因为没有关于此的相关文档(如果有的话,请发表评论)而且我的案例不适合其他人的案例。

对于那些认为我没有在错误消息中包含所有内容的人来说,错误消息就是这么简短和模棱两可。在github 问题上查看此内容

在此处输入图像描述

代码:

设置

INSTALLED_APPS = ['rest_framework',]

REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 10
}

看法

from rest_framework import viewsets
from .models import Todo
from .serializers import TodoSerializer

class TodoViewSet(viewsets.ModelViewSet):
    queryset = Todo.objects.all()
    serializer_class = TodoSerializer

序列化器

from .models import Todo
from rest_framework import serializers

class TodoSerializer(serializers.BaseSerializer):
    class Meta:
        model = Todo
        fields = ['title', 'desc', 'level', 'created']

网址

from django.urls import path, include
from rest_framework import routers

router = routers.DefaultRouter()
router.register(r'todos', views.TodoViewSet)
urlpatterns = [
    path('api/', include(router.urls)),
]

提前谢谢了。注意:如果你想知道这就是全部,这就是我刚刚开始学习 drf 的全部内容。

标签: djangoapidjango-rest-framework

解决方案


你不能使用class TodoSerializer(serializers.ModelSerializer):BaseSerializer


推荐阅读