Я работаю над случаем, когда, когда пользователь отправляет почтовый запрос с данными, данные будут храниться в таблице и отвечать на все объекты в этой таблице.
Я пытаюсь реализовать JsonResponse
в django-rest-framework
.
Я создал два поля моей модели как ListFields
и сериализовал набор запросов для ответа.
Но когда сервер отправляет ответ, вместо того, чтобы быть элементами списка, они отображаются как строковые значения.
Вот мой код
models.py:
from django.db import models
from djongo.models import ListField
class Post(models.Model):
title = models.TextField()
cast = ListField()
scenes = ListField()
views.py:
from rest_framework.response import Response
from rest_framework.views import APIView
from app1.models import Post
from app1.serializers import PostSerializer
class CreateView(APIView):
def post(self, request):
data = request.POST
post = Post(**data)
post.save()
dat = Post.objects.all()
print(dat)
serializer = PostSerializer(dat, many=True)
return Response(serializer.data)
serializers.py:
from rest_framework import serializers
from app1.models import Post
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = '__all__'
выход:
[
{
"id": 1,
"title": "['This is title']",
"cast": "['1,2,3']",
"scenes": "['4,5,6']"
},
{
"id": 2,
"title": "['This is title']",
"cast": "['10,20,30']",
"scenes": "['40,50,60']"
},
{
"id": 3,
"title": "['This is title']",
"cast": "['10,20,30']",
"scenes": "['40,50,60']"
}
]
Здесь поля приведений и сцен показаны в виде строк вместо списков.
КСТАТИ. Я использую MongoDB, и поля списка не сохраняются как массивы. Они сохраняются в виде строки, в которой элементы разделены запятыми.
Куда я иду не так? Что я должен сделать, чтобы поля в ответе вели себя как поля списка вместо строк?