Skip to content

Commit 5b7e4af

Browse files
committed
get_base_field() refactor
1 parent c0155fd commit 5b7e4af

9 files changed

+384
-395
lines changed

rest_framework/fields.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,6 @@ def set_value(dictionary, keys, value):
8080
dictionary[keys[-1]] = value
8181

8282

83-
def field_name_to_label(field_name):
84-
return field_name.replace('_', ' ').capitalize()
85-
86-
8783
class SkipField(Exception):
8884
pass
8985

@@ -162,7 +158,7 @@ def bind(self, field_name, parent, root):
162158

163159
# `self.label` should deafult to being based on the field name.
164160
if self.label is None:
165-
self.label = field_name_to_label(self.field_name)
161+
self.label = field_name.replace('_', ' ').capitalize()
166162

167163
# self.source should default to being the same as the field name.
168164
if self.source is None:

rest_framework/relations.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ class HyperlinkedRelatedField(RelatedField):
7373
'incorrect_type': 'Incorrect type. Expected URL string, received {data_type}.',
7474
}
7575

76-
def __init__(self, view_name, **kwargs):
76+
def __init__(self, view_name=None, **kwargs):
77+
assert view_name is not None, 'The `view_name` argument is required.'
7778
self.view_name = view_name
7879
self.lookup_field = kwargs.pop('lookup_field', self.lookup_field)
7980
self.lookup_url_kwarg = kwargs.pop('lookup_url_kwarg', self.lookup_field)
@@ -182,7 +183,8 @@ class HyperlinkedIdentityField(HyperlinkedRelatedField):
182183
URL of relationships to other objects.
183184
"""
184185

185-
def __init__(self, view_name, **kwargs):
186+
def __init__(self, view_name=None, **kwargs):
187+
assert view_name is not None, 'The `view_name` argument is required.'
186188
kwargs['read_only'] = True
187189
kwargs['source'] = '*'
188190
super(HyperlinkedIdentityField, self).__init__(view_name, **kwargs)
@@ -199,7 +201,8 @@ class SlugRelatedField(RelatedField):
199201
'invalid': _('Invalid value.'),
200202
}
201203

202-
def __init__(self, slug_field, **kwargs):
204+
def __init__(self, slug_field=None, **kwargs):
205+
assert slug_field is not None, 'The `slug_field` argument is required.'
203206
self.slug_field = slug_field
204207
super(SlugRelatedField, self).__init__(**kwargs)
205208

0 commit comments

Comments
 (0)