django - 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 的全部内容。
解决方案
你不能使用class TodoSerializer(serializers.ModelSerializer):
BaseSerializer
推荐阅读
- java - 使用编码 URL 删除 Azure Blob - Java
- javascript - 用于匹配所有图像链接的正则表达式,除了后跟文本“(已删除)”不带引号的链接
- docker - Docker 中 RabbitMQ 的端口转发失败
- r - 用 plotly 改变刻度之间的步骤
- ios - 渲染回调时修改场景
- javascript - 使用 three.js 和其他工具将 2D 图像转换为 3D
- r - file.copy 太慢了
- spring-boot - Spring Boot RabbitMQ 发布者和接收者在同一个项目上
- c# - 无法在 Solidworks 插件中加载文件或装配体
- javascript - Angular6管道过滤器在大型阵列上运行缓慢