mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-30 18:09:59 +03:00
Update metadata Move methods
attrs
to class attr
Move `attr` `methods` to class attribute for rewrite convenience
This commit is contained in:
parent
15e044b231
commit
c694d799fd
|
@ -57,6 +57,12 @@ class SimpleMetadata(BaseMetadata):
|
||||||
serializers.DictField: 'nested object',
|
serializers.DictField: 'nested object',
|
||||||
serializers.Serializer: 'nested object',
|
serializers.Serializer: 'nested object',
|
||||||
})
|
})
|
||||||
|
methods = {"PUT", "POST"}
|
||||||
|
attrs = [
|
||||||
|
'read_only', 'label', 'help_text',
|
||||||
|
'min_length', 'max_length',
|
||||||
|
'min_value', 'max_value',
|
||||||
|
]
|
||||||
|
|
||||||
def determine_metadata(self, request, view):
|
def determine_metadata(self, request, view):
|
||||||
metadata = OrderedDict()
|
metadata = OrderedDict()
|
||||||
|
@ -76,7 +82,7 @@ class SimpleMetadata(BaseMetadata):
|
||||||
the fields that are accepted for 'PUT' and 'POST' methods.
|
the fields that are accepted for 'PUT' and 'POST' methods.
|
||||||
"""
|
"""
|
||||||
actions = {}
|
actions = {}
|
||||||
for method in {'PUT', 'POST'} & set(view.allowed_methods):
|
for method in self.methods & set(view.allowed_methods):
|
||||||
view.request = clone_request(request, method)
|
view.request = clone_request(request, method)
|
||||||
try:
|
try:
|
||||||
# Test global permissions
|
# Test global permissions
|
||||||
|
@ -121,13 +127,7 @@ class SimpleMetadata(BaseMetadata):
|
||||||
field_info['type'] = self.label_lookup[field]
|
field_info['type'] = self.label_lookup[field]
|
||||||
field_info['required'] = getattr(field, 'required', False)
|
field_info['required'] = getattr(field, 'required', False)
|
||||||
|
|
||||||
attrs = [
|
for attr in self.attrs:
|
||||||
'read_only', 'label', 'help_text',
|
|
||||||
'min_length', 'max_length',
|
|
||||||
'min_value', 'max_value'
|
|
||||||
]
|
|
||||||
|
|
||||||
for attr in attrs:
|
|
||||||
value = getattr(field, attr, None)
|
value = getattr(field, attr, None)
|
||||||
if value is not None and value != '':
|
if value is not None and value != '':
|
||||||
field_info[attr] = force_text(value, strings_only=True)
|
field_info[attr] = force_text(value, strings_only=True)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user