You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
def get_default(self):
"""
Return the default value to use when validating data if no input
is provided for this field.
If a default has not been set for this field then this will simply
raise `SkipField`, indicating that no value should be set in the
validated data for this field.
"""
if self.default is empty or getattr(self.root, 'partial', False):
# No default, or this is a partial update.
raise SkipField()
if callable(self.default):
if hasattr(self.default, 'set_context'):
**self.default.set_context(self)**
return self.default()
return self.default
Checklist
master
branch of Django REST framework.Steps to reproduce
class GraphDomainSerializer(serializers.ModelSerializer):
user = serializers.HiddenField(default=serializers.CurrentUserDefault)
Expected behavior
Actual behavior
class CurrentUserDefault(object):
def set_context(self, serializer_field):
self.user = serializer_field.context['request'].user
def get_default(self):
"""
Return the default value to use when validating data if no input
is provided for this field.
File "/Users/lishijin/.pyenv/versions/3.7.2/lib/python3.7/site-packages/rest_framework/fields.py", line 490, in get_default
self.default.set_context(self)
TypeError: set_context() missing 1 required positional argument: 'serializer_field'
[24/Jun/2019 14:34:45] "POST /graphs/ HTTP/1.1" 500 21130
The text was updated successfully, but these errors were encountered: