Django serializer depth не сериализует вложенные модели

Я использую django и react и хочу сделать несколько рабочих пространств, где они имеют внутренние экземпляры каналов.

Models.py


class Workspace(models.Model):

    channels = models.ManyToManyField('Channel', related_name='channels', blank=True)


Serializers.py

class WorkspaceSerializer(serializers.ModelSerializer):
    class Meta:
        model = Workspace
        fields = '__all__'
        depth = 2

Views.py

@api_view(['POST'])
def getworkspace(request):

    if request.method == 'POST':

        workspace = Workspace.objects.filter(id=request.POST['id']).first()

        serializer = WorkspaceSerializer(workspace, many=False)

    return Response(serializer.data)

Затем я использую axios для получения данных


axios.post('http://127.0.0.1:8000/getworkspace/', formData, {headers: {'Content-type':     'multipart/form-data'}}).then(res=>{

   setWorkspace(res?.data)
})

console.log(workspace)

Я ожидал, что канал рабочего пространства будет сериализован и я смогу получить к нему доступ, но вместо этого я получаю следующее {id, 1, channels: [1]}

Что я могу сделать, я изменил глубину даже на 10, но это все равно не работает. Если я использую shell и сериализую его оттуда следующим образом:

from main.models import *
from main.serializers import *
workspace = Workspace.objects.filter(id=1).first()
serializer = WorkspaceSerializer(workspace, many=False)
print(serializer.data)

Работает отлично.

Я полагаю, что проблема начинается с представления, потому что когда я печатаю print(serializer.data) оттуда, каналы не сериализуются.

Вернуться на верх