mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-02-17 03:51:03 +03:00
compat: only add compat implementation of RequestFactory.generic() if not
provided by django
This commit is contained in:
parent
d86e494e86
commit
06c61fc511
|
@ -199,8 +199,6 @@ if 'patch' not in View.http_method_names:
|
||||||
View.http_method_names = View.http_method_names + ['patch']
|
View.http_method_names = View.http_method_names + ['patch']
|
||||||
|
|
||||||
|
|
||||||
# RequestFactory only provides `generic` from 1.5 onwards
|
|
||||||
from django.test.client import RequestFactory as DjangoRequestFactory
|
|
||||||
from django.test.client import FakePayload
|
from django.test.client import FakePayload
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -211,7 +209,11 @@ except ImportError:
|
||||||
from django.utils.encoding import smart_str as force_bytes_or_smart_bytes
|
from django.utils.encoding import smart_str as force_bytes_or_smart_bytes
|
||||||
|
|
||||||
|
|
||||||
class RequestFactory(DjangoRequestFactory):
|
# RequestFactory only provides `generic` from 1.5 onwards
|
||||||
|
if django.VERSION < (1, 5):
|
||||||
|
from django.test.client import RequestFactory as DjangoRequestFactory
|
||||||
|
|
||||||
|
class RequestFactory(DjangoRequestFactory):
|
||||||
def generic(self, method, path,
|
def generic(self, method, path,
|
||||||
data='', content_type='application/octet-stream', **extra):
|
data='', content_type='application/octet-stream', **extra):
|
||||||
parsed = _urlparse(path)
|
parsed = _urlparse(path)
|
||||||
|
@ -229,6 +231,8 @@ class RequestFactory(DjangoRequestFactory):
|
||||||
})
|
})
|
||||||
r.update(extra)
|
r.update(extra)
|
||||||
return self.request(**r)
|
return self.request(**r)
|
||||||
|
else:
|
||||||
|
from django.test.client import RequestFactory
|
||||||
|
|
||||||
|
|
||||||
# Markdown is optional
|
# Markdown is optional
|
||||||
|
|
Loading…
Reference in New Issue
Block a user