Django Rest Framework: вставить список с помощью ModelViewSet - PullRequest
0 голосов
/ 04 ноября 2019

Электронная документация не очень понятна. Предполагается, что метод POST по умолчанию ModelViewSet позволяет вам вставить список ваших моделей, но в действительности он допускает вставку только одной модели. Для примера кода, пожалуйста, обратитесь к тому, который указан в https://www.django -rest-framework.org / api-guide / viewsets / , как кто-то может POST-список пользователей?

class UserViewSet(viewsets.ModelViewSet):
    """
    A viewset for viewing and editing user instances.
    """
    serializer_class = UserSerializer
    queryset = User.objects.all()

Ответы [ 2 ]

0 голосов
/ 04 ноября 2019

В документации совершенно ясно говорится о том, что делает создание.

Цитирование https://www.django -rest-framework.org / api-guide / viewsets / # modelviewset :

Класс ModelViewSet наследуется от GenericAPIView и включает в себя реализации для различных действий, смешивая поведение различных классов mixin. Действия, предоставляемые классом ModelViewSet: .list (), .retrieve (), .create (), .update (), .partial_update () и .destroy ().

к документации GenericAPIView при смешивании создания :

Предоставляет метод .create (request, * args, ** kwargs), который реализует создание и сохранение нового экземпляра модели.

Поэтому, если вы хотите создать пакет элементов, вам придется переопределить метод create и написать создание нескольких экземпляров самостоятельно.

0 голосов
/ 04 ноября 2019

, поскольку вы можете сначала использовать serializer_class, а затем набор запросов, сначала нам нужно импортировать User, а затем применить класс сериализатора, чтобы применить вставку снова и снова использовать этот

class UserViewSet(viewsets.ModelViewSet):
    """
    A viewset for viewing and editing user instances.
    """
    queryset = User.objects.all()
    serializer_class = UserSerializer
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...