You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django REST Framework JSON数据无法显示的问题排查求助

Django REST Framework 无数据显示问题排查

首要问题:QuerySet 模型不匹配

你的 ExampleAPI 视图中,queryset 错误引用了 Dictionary.objects.all(),但序列化器绑定的是 Example 模型,这会导致视图查询的是完全无关的模型数据,自然无法返回 Example 的内容。

修正后的视图代码:

class ExampleAPI(viewsets.ModelViewSet):
    queryset= Example.objects.all()  # 替换为正确的Example模型QuerySet
    serializer_class = ExampleSerializer 

    def get_paginated_response(self, data):
       return Response(data)

额外排查方向

如果修正后仍无数据,可检查以下内容:

  • URL 路径重复问题:当前配置下,实际访问的有效路径是 http://你的域名/ExampleAPI/ExampleAPI/(注册路由时的前缀+path里的前缀),容易导致访问错误。建议简化URL配置:
    routExample= routers.SimpleRouter()
    routExample.register(r'', views.ExampleAPI)  # 移除注册时的前缀
    
    urlpatterns = [
        path("ExampleAPI/", include(routExample.urls)),
    ]
    
    之后直接访问 http://你的域名/ExampleAPI/ 即可获取数据。
  • 权限/认证限制:若项目全局配置了权限或认证类,可能会拦截数据返回。可临时在视图中关闭测试:
    class ExampleAPI(viewsets.ModelViewSet):
        queryset= Example.objects.all()
        serializer_class = ExampleSerializer
        permission_classes = []
        authentication_classes = []
    
        def get_paginated_response(self, data):
           return Response(data)
    
  • 序列化器字段问题:虽然你用了fields='__all__',但可显式指定字段确认是否生效:
    class ExampleSerializer(ModelSerializer):
        class Meta:
            model= Example
            fields=['id', 'Text']  # 显式列出字段
    

内容的提问来源于stack exchange,提问作者Kring Lord

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 19:56:00