make sure all ListModelMixin views considered as list view (#306)

* make sure all ListModelMixin views considered as list view
* test to make sure all ListModelMixin views considered as list view added
This commit is contained in:
Dimas Ari
2019-04-01 07:57:14 +08:00
committed by Cristi Vîjdea
parent 81f0b1a2ea
commit 86c1675c58
7 changed files with 132 additions and 4 deletions
+5 -1
View File
@@ -6,7 +6,7 @@ from collections import OrderedDict
from django.db import models
from django.utils.encoding import force_text
from rest_framework import serializers, status
from rest_framework.mixins import DestroyModelMixin, RetrieveModelMixin, UpdateModelMixin
from rest_framework.mixins import DestroyModelMixin, RetrieveModelMixin, UpdateModelMixin, ListModelMixin
from rest_framework.parsers import FileUploadParser
from rest_framework.request import is_form_media_type
from rest_framework.settings import api_settings as rest_framework_settings
@@ -226,6 +226,10 @@ def is_list_view(path, method, view):
# a detail action is surely not a list route
return False
# for GenericAPIView, if it's a list view then it should be a list view
if isinstance(view, ListModelMixin):
return True
# for GenericAPIView, if it's a detail view it can't also be a list view
if isinstance(view, (RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin)):
return False