mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-04 12:30:11 +03:00
Merge cd9db33c01
into bf4b3ff0d5
This commit is contained in:
commit
f3accec961
BIN
pandoc-1.19.2.1-osx.pkg
Normal file
BIN
pandoc-1.19.2.1-osx.pkg
Normal file
Binary file not shown.
|
@ -12,7 +12,7 @@ from django.utils.encoding import (
|
||||||
)
|
)
|
||||||
from django.utils.six.moves.urllib import parse as urlparse
|
from django.utils.six.moves.urllib import parse as urlparse
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
from django.utils.http import urlencode
|
||||||
from rest_framework.compat import (
|
from rest_framework.compat import (
|
||||||
NoReverseMatch, Resolver404, get_script_prefix, resolve
|
NoReverseMatch, Resolver404, get_script_prefix, resolve
|
||||||
)
|
)
|
||||||
|
@ -417,6 +417,16 @@ class HyperlinkedIdentityField(HyperlinkedRelatedField):
|
||||||
# to run the 'only get the pk for this relationship' code.
|
# to run the 'only get the pk for this relationship' code.
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
class QueryParameterHyperlinkedIdentityField(HyperlinkedIdentityField):
|
||||||
|
def __init__(self, query_params, **kwargs):
|
||||||
|
super(QueryParameterHyperlinkedIdentityField, self).__init__(**kwargs)
|
||||||
|
self.query_params = query_params
|
||||||
|
|
||||||
|
def get_url(self, obj, view_name, request, format):
|
||||||
|
url = super(QueryParameterHyperlinkedIdentityField, self).get_url(obj, view_name, request, format)
|
||||||
|
if len(self.query_params) > 0:
|
||||||
|
url += "?"+urlencode({k: getattr(obj, v) for k,v in self.query_params.items()})
|
||||||
|
return url
|
||||||
|
|
||||||
class SlugRelatedField(RelatedField):
|
class SlugRelatedField(RelatedField):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -60,7 +60,7 @@ from rest_framework.fields import ( # NOQA # isort:skip
|
||||||
SerializerMethodField, SlugField, TimeField, URLField, UUIDField,
|
SerializerMethodField, SlugField, TimeField, URLField, UUIDField,
|
||||||
)
|
)
|
||||||
from rest_framework.relations import ( # NOQA # isort:skip
|
from rest_framework.relations import ( # NOQA # isort:skip
|
||||||
HyperlinkedIdentityField, HyperlinkedRelatedField, ManyRelatedField,
|
HyperlinkedIdentityField, HyperlinkedRelatedField, QueryParameterHyperlinkedIdentityField, ManyRelatedField,
|
||||||
PrimaryKeyRelatedField, RelatedField, SlugRelatedField, StringRelatedField,
|
PrimaryKeyRelatedField, RelatedField, SlugRelatedField, StringRelatedField,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user