I am following a tutorial located here that uses Django Rest Framework, and I keep getting a weird error about a field.
I have the following model in my models.py<
Simple specify many=True
when creating a serializer from queryset, TaskSerializer(tasks)
will work only with one instance of Task
:
tasks = Task.objects.all()
serializer = TaskSerializer(tasks, many=True)
The problem here is that you are trying to convert a Queryset(list) of entries into a single entry. The solution is something along these lines.
from rest_framework import serializers
class TaskListSerializer(serializers.ListSerializer):
child = TaskSerializer()
allow_null = True
many = True
Then
if request.method == 'GET':
tasks = Task.objects.all()
serializer = TaskListSerializer(tasks)
return Response(serializer.data)