必须实现Django rest框架to_representation

fnvucqvd  于 2023-03-04  发布在  Go
关注(0)|答案(2)|浏览(104)

这个问题有类似的标题,其他线程在这个论坛上,但我敢肯定,这不是一个重复,因为一个因为我没有覆盖我的分页细节或任何东西(这原来是其他问题的原因)。
无论如何,Django提出的to_representation()必须被实现。我完全被卡住了,因为没有相关的文档(如果你有,请评论),我的情况不适合其他人的。

**对于那些认为我没有在错误消息中包含所有内容的人,错误消息就是这么短而且模棱两可。**在github issues上查看此内容

代码:
设置

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几分钟前。

t2a7ltrp

t2a7ltrp1#

必须使用class TodoSerializer(serializers.ModelSerializer):,而不是BaseSerializer

q7solyqu

q7solyqu2#

您可以使用ModelSerializer解决此问题。

相关问题