diff --git a/rest_framework/mixins.py b/rest_framework/mixins.py index 7fa8947cb..d2666143f 100644 --- a/rest_framework/mixins.py +++ b/rest_framework/mixins.py @@ -30,6 +30,19 @@ class CreateModelMixin: return {} +class CreateOneOrMoreModelMixin(CreateModelMixin): + """ + Create one or more model instances. + """ + + def get_serializer(self, *args, **kwargs): + if self.request.method == 'POST': + kwargs['many'] = isinstance(self.request.data, list) or kwargs.get( + 'many', False + ) + return super().get_serializer(*args, **kwargs) + + class ListModelMixin: """ List a queryset.