我正试图显示所有的模型实例。
主项目 urls.py
:
from .views import api_root, endpoint_info, test
urlpatterns = [
path('admin/', admin.site.urls),
path('test', test)
]
主要项目 views.py
:
from project.models import Project
from rest_framework.decorators import api_view, renderer_classes
from rest_framework.renderers import JSONRenderer
@api_view(['GET'])
@renderer_classes((JSONRenderer,))
def test(request):
projects = Project.objects.all()
for project in projects:
return Response({'client_name': project.client_name})
# return Response({'client_name': 'string_value_random'}) <-- tried returning string too
我得到这个错误。
AssertionError at /test
Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be returned from the view, but received a `<class 'NoneType'>`
我还试着返回 return Response({'client_name': 'string_value_random'})
但还是得到同样的错误。
我应该如何显示记录?
Project.objects.all()
结果是一个空的QuerySet,所以你的循环不会被运行,这使得函数隐式地返回 None
.
另外,你需要抛弃循环,让你的返回语句成为。
return Response({'projects': projects})