mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-26 16:09:49 +03:00
initializing related fields with namespace
allows to drop self.parent.opts.view_namespace access in to_native
This commit is contained in:
parent
28a5b73c25
commit
f84f256caa
|
@ -547,7 +547,7 @@ class HyperlinkedRelatedField(RelatedField):
|
||||||
return self.slug_field
|
return self.slug_field
|
||||||
|
|
||||||
def to_native(self, obj):
|
def to_native(self, obj):
|
||||||
view_namespace = self.view_namespace or getattr(self.parent.opts, 'view_namespace', None)
|
view_namespace = self.view_namespace
|
||||||
view_name = self.view_name
|
view_name = self.view_name
|
||||||
if view_namespace:
|
if view_namespace:
|
||||||
view_name = '%(namespace)s:%(name)s' % {'namespace': view_namespace, 'name': view_name}
|
view_name = '%(namespace)s:%(name)s' % {'namespace': view_namespace, 'name': view_name}
|
||||||
|
@ -659,7 +659,7 @@ class HyperlinkedIdentityField(Field):
|
||||||
def field_to_native(self, obj, field_name):
|
def field_to_native(self, obj, field_name):
|
||||||
request = self.context.get('request', None)
|
request = self.context.get('request', None)
|
||||||
format = self.format or self.context.get('format', None)
|
format = self.format or self.context.get('format', None)
|
||||||
view_namespace = self.view_namespace or getattr(self.parent.opts, 'view_namespace', None)
|
view_namespace = self.view_namespace
|
||||||
view_name = self.view_name
|
view_name = self.view_name
|
||||||
if view_namespace:
|
if view_namespace:
|
||||||
view_name = '%(namespace)s:%(name)s' % {'namespace': view_namespace, 'name': view_name}
|
view_name = '%(namespace)s:%(name)s' % {'namespace': view_namespace, 'name': view_name}
|
||||||
|
|
|
@ -560,7 +560,9 @@ class HyperlinkedModelSerializer(ModelSerializer):
|
||||||
queryset = rel._default_manager
|
queryset = rel._default_manager
|
||||||
kwargs = {
|
kwargs = {
|
||||||
'queryset': queryset,
|
'queryset': queryset,
|
||||||
'view_name': self._get_default_view_name(rel)
|
'view_name': self._get_default_view_name(rel),
|
||||||
|
# TODO? offer possibility to init related fields with custom namespaces
|
||||||
|
'view_namespace': getattr(self.opts, 'view_namespace', None)
|
||||||
}
|
}
|
||||||
if to_many:
|
if to_many:
|
||||||
return ManyHyperlinkedRelatedField(**kwargs)
|
return ManyHyperlinkedRelatedField(**kwargs)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user