这个问题有类似的标题,其他线程在这个论坛上,但我敢肯定,这不是一个重复,因为一个因为我没有覆盖我的分页细节或任何东西(这原来是其他问题的原因)。
无论如何,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几分钟前。
2条答案
按热度按时间t2a7ltrp1#
必须使用
class TodoSerializer(serializers.ModelSerializer):
,而不是BaseSerializerq7solyqu2#
您可以使用ModelSerializer解决此问题。