Saya mencoba menampilkan semua contoh model.

Proyek Utama urls.py:

from .views import api_root, endpoint_info, test

urlpatterns = [
    path('admin/', admin.site.urls),
    path('test', test)
]

Proyek Utama 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

Saya mendapatkan kesalahan ini:

AssertionError at /test
Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be returned from the view, but received a `<class 'NoneType'>`

Saya juga mencoba returing return Response({'client_name': 'string_value_random'}) tetapi masih mendapatkan kesalahan yang sama.

Bagaimana saya harus menampilkan catatan?

0
Azima 20 Mei 2020, 16:50

1 menjawab

Jawaban Terbaik

Project.objects.all() menghasilkan QuerySet kosong, sehingga loop Anda tidak akan dijalankan, yang membuat fungsi mengembalikan None secara implisit.

Juga, Anda perlu membuang loop dan membuat pernyataan pengembalian Anda menjadi:

return Response({'projects': projects})
1
ruohola 20 Mei 2020, 13:56