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

Django REST Framework报错:'AgencyRegistration'对象无'get'属性

解决Django REST Framework中AttributeError: 'AgencyRegistration' object has no attribute 'get'的问题

我看到你遇到的这个错误,根源其实在两个地方——URL配置错误和视图返回值错误,咱们一步步来修复:

1. 修复URL配置错误

你在urls.py里把模型类AgencyRegistration直接传给了path,但Django的URL路由需要的是视图函数或者类视图的实例,不是模型类本身。把它改成你定义的视图函数agency_registration:

urlpatterns = [
    path('agency-registration/', views.agency_registration),
]

2. 修复视图的返回值错误

你的views.py里用render()包裹了JsonResponse,这是多余的。render是用来返回HTML模板的,而你要返回JSON数据,直接返回JsonResponse就行:

def agency_registration(request):
    agency_data = AgencyRegistration.objects.all()
    serializer = AgencyRegistrationSerializer(agency_data, many=True)
    return JsonResponse(serializer.data, safe=False)

额外建议:改用DRF的APIView或者ViewSet(可选)

既然你在用Django REST Framework,其实更推荐用DRF提供的视图类,比如APIView或者ReadOnlyModelViewSet,这样能更贴合DRF的生态,也能自动处理请求方法、序列化等细节:

比如改成APIView的写法:

views.py

from rest_framework.views import APIView
from rest_framework.response import Response

class AgencyRegistrationView(APIView):
    def get(self, request):
        agency_data = AgencyRegistration.objects.all()
        serializer = AgencyRegistrationSerializer(agency_data, many=True)
        return Response(serializer.data)

urls.py

urlpatterns = [
    path('agency-registration/', views.AgencyRegistrationView.as_view()),
]

这种写法会自动处理请求头、状态码等,比普通函数视图更专业~

内容的提问来源于stack exchange,提问作者Ricardo Maldonado

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 17:25:23