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)
оттуда, каналы не сериализуются.