mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-05 04:50:12 +03:00
Merge b506b3161d
into 68d2020112
This commit is contained in:
commit
5cbcb824f3
|
@ -310,7 +310,8 @@ class Field(object):
|
||||||
def __init__(self, read_only=False, write_only=False,
|
def __init__(self, read_only=False, write_only=False,
|
||||||
required=None, default=empty, initial=empty, source=None,
|
required=None, default=empty, initial=empty, source=None,
|
||||||
label=None, help_text=None, style=None,
|
label=None, help_text=None, style=None,
|
||||||
error_messages=None, validators=None, allow_null=False):
|
error_messages=None, validators=None, allow_null=False,
|
||||||
|
permission=0, read_permission=0, write_permission=0):
|
||||||
self._creation_counter = Field._creation_counter
|
self._creation_counter = Field._creation_counter
|
||||||
Field._creation_counter += 1
|
Field._creation_counter += 1
|
||||||
|
|
||||||
|
@ -334,6 +335,9 @@ class Field(object):
|
||||||
self.help_text = help_text
|
self.help_text = help_text
|
||||||
self.style = {} if style is None else style
|
self.style = {} if style is None else style
|
||||||
self.allow_null = allow_null
|
self.allow_null = allow_null
|
||||||
|
self.permission = permission
|
||||||
|
self.read_permission = read_permission
|
||||||
|
self.write_permission = write_permission
|
||||||
|
|
||||||
if self.default_empty_html is not empty:
|
if self.default_empty_html is not empty:
|
||||||
if default is not empty:
|
if default is not empty:
|
||||||
|
@ -443,8 +447,6 @@ class Field(object):
|
||||||
try:
|
try:
|
||||||
return get_attribute(instance, self.source_attrs)
|
return get_attribute(instance, self.source_attrs)
|
||||||
except (KeyError, AttributeError) as exc:
|
except (KeyError, AttributeError) as exc:
|
||||||
if not self.required and self.default is empty:
|
|
||||||
raise SkipField()
|
|
||||||
msg = (
|
msg = (
|
||||||
'Got {exc_type} when attempting to get a value for field '
|
'Got {exc_type} when attempting to get a value for field '
|
||||||
'`{field}` on serializer `{serializer}`.\nThe serializer '
|
'`{field}` on serializer `{serializer}`.\nThe serializer '
|
||||||
|
|
|
@ -136,12 +136,14 @@ class SimpleRouter(BaseRouter):
|
||||||
it from the viewset.
|
it from the viewset.
|
||||||
"""
|
"""
|
||||||
queryset = getattr(viewset, 'queryset', None)
|
queryset = getattr(viewset, 'queryset', None)
|
||||||
|
model = getattr(viewset, 'model', None)
|
||||||
|
|
||||||
assert queryset is not None, '`base_name` argument not specified, and could ' \
|
assert ((queryset is not None) or (model is not None)), '`base_name` argument not specified, and could ' \
|
||||||
'not automatically determine the name from the viewset, as ' \
|
'not automatically determine the name from the viewset, as ' \
|
||||||
'it does not have a `.queryset` attribute.'
|
'it does not have a `.queryset` attribute.'
|
||||||
|
|
||||||
return queryset.model._meta.object_name.lower()
|
model = model if model is not None else queryset.model
|
||||||
|
return model._meta.object_name.lower()
|
||||||
|
|
||||||
def get_routes(self, viewset):
|
def get_routes(self, viewset):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -156,6 +156,14 @@ class BaseSerializer(Field):
|
||||||
list_serializer_class = getattr(meta, 'list_serializer_class', ListSerializer)
|
list_serializer_class = getattr(meta, 'list_serializer_class', ListSerializer)
|
||||||
return list_serializer_class(*args, **list_kwargs)
|
return list_serializer_class(*args, **list_kwargs)
|
||||||
|
|
||||||
|
'''
|
||||||
|
HACK to pass context down to child serializers in rippling.
|
||||||
|
The right way might be to remove @cached_property from fields.py
|
||||||
|
and set self._context here
|
||||||
|
'''
|
||||||
|
def set_context(self, context):
|
||||||
|
self.context = context;
|
||||||
|
|
||||||
def to_internal_value(self, data):
|
def to_internal_value(self, data):
|
||||||
raise NotImplementedError('`to_internal_value()` must be implemented.')
|
raise NotImplementedError('`to_internal_value()` must be implemented.')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user