Поле списка Django Rest Framework - PullRequest
0 голосов
/ 13 ноября 2018

Я использую Django rest Framework, у меня есть вопрос к моим вложенным сериализаторам

мои сериализаторы

class SerUserSubCreateView(serializers.Serializer):
    email = serializers.EmailField()
    is_active = serializers.BooleanField()

class SerUserCreateView(serializers.Serializer):  
    user = SerUserSubCreateView()
    clients_id = serializers.CharField(max_length=50)

мои views.py

class CreateUserView(CreateAPIView):
     serializer_class = serializers.SerUserCreateView
     permission_classes = [IsAuthenticated]
     queryset = UserClients.objects.all()


     def post(self,request,format=None):
         serializer = self.serializer_class(data=request.data)

         if serializer.is_valid():
                .................   

мой контекст

{
    "user": {
        "email": "",
        "status": false
    },
    "clients_id": ""
}

но я хочу

{
    "user":[
        {
            "email": "",
            "status": false
        },
    ],
    "clients_id": ""
}

Есть какой-нибудь метод?или что-нибудь?

1 Ответ

0 голосов
/ 13 ноября 2018

Попробуйте:

class SerUserCreateView(serializers.Serializer):  
    user = serializers.ListSerializer(child=SerUserSubCreateView())
    clients_id = serializers.CharField(max_length=50)

В конце концов:

class SerUserCreateView(serializers.Serializer):  
    user = SerUserSubCreateView(many=True)
    clients_id = serializers.CharField(max_length=50)

Вам необходимо соответствующим образом изменить код - в местах сериализации / десериализации.Удачного кодирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...