mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-06 05:20:12 +03:00
Allowed writable HyperlinkedIdentityField
This commit is contained in:
parent
1f2e2dea96
commit
7507d90570
|
@ -408,7 +408,8 @@ class HyperlinkedIdentityField(HyperlinkedRelatedField):
|
||||||
|
|
||||||
def __init__(self, view_name=None, **kwargs):
|
def __init__(self, view_name=None, **kwargs):
|
||||||
assert view_name is not None, 'The `view_name` argument is required.'
|
assert view_name is not None, 'The `view_name` argument is required.'
|
||||||
kwargs['read_only'] = True
|
if 'read_only' not in kwargs:
|
||||||
|
kwargs['read_only'] = True
|
||||||
kwargs['source'] = '*'
|
kwargs['source'] = '*'
|
||||||
super(HyperlinkedIdentityField, self).__init__(view_name, **kwargs)
|
super(HyperlinkedIdentityField, self).__init__(view_name, **kwargs)
|
||||||
|
|
||||||
|
|
|
@ -469,7 +469,10 @@ class Serializer(BaseSerializer):
|
||||||
except SkipField:
|
except SkipField:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
set_value(ret, field.source_attrs, validated_value)
|
if field.source_attrs != [] or field.source == "*":
|
||||||
|
set_value(ret, field.source_attrs, validated_value)
|
||||||
|
else:
|
||||||
|
set_value(ret, [field.field_name, ], primitive_value)
|
||||||
|
|
||||||
if errors:
|
if errors:
|
||||||
raise ValidationError(errors)
|
raise ValidationError(errors)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user