Merge pull request #5429 from AlanCoding/m2m_types

Integer (or generic ForeignKey) coercion for m2m filters
This commit is contained in:
Alan Rominger
2017-02-20 22:25:57 -05:00
committed by GitHub

View File

@@ -9,8 +9,9 @@ from django.core.exceptions import FieldError, ValidationError
from django.db import models from django.db import models
from django.db.models import Q from django.db.models import Q
from django.db.models.fields import FieldDoesNotExist from django.db.models.fields import FieldDoesNotExist
from django.db.models.fields.related import ForeignObjectRel from django.db.models.fields.related import ForeignObjectRel, ManyToManyField
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes.fields import GenericForeignKey
from django.utils.encoding import force_text from django.utils.encoding import force_text
# Django REST Framework # Django REST Framework
@@ -129,7 +130,7 @@ class FieldLookupBackend(BaseFilterBackend):
return to_python_boolean(value, allow_none=True) return to_python_boolean(value, allow_none=True)
elif isinstance(field, models.BooleanField): elif isinstance(field, models.BooleanField):
return to_python_boolean(value) return to_python_boolean(value)
elif isinstance(field, ForeignObjectRel): elif isinstance(field, (ForeignObjectRel, ManyToManyField, GenericForeignKey)):
return self.to_python_related(value) return self.to_python_related(value)
else: else:
return field.to_python(value) return field.to_python(value)