master
del marco Django REST.clase GraphDomainSerializer (serializadores.ModelSerializer):
usuario = serializadores.HiddenField (predeterminado = serializadores.CurrentUserDefault)
clase CurrentUserDefault (objeto):
def set_context (self, serializer_field):
self.user = serializer_field.context ['solicitud']. usuario
def __call__(self):
return self.user
def __repr__(self):
return unicode_to_repr('%s()' % self.__class__.__name__)
def get_default (uno mismo):
"" "
Devuelve el valor predeterminado para usar al validar datos si no hay entrada
se proporciona para este campo.
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
Archivo "/Users/lishijin/.pyenv/versions/3.7.2/lib/python3.7/site-packages/rest_framework/fields.py", línea 490, en get_default
self.default.set_context (self)
TypeError: set_context () falta 1 argumento posicional requerido: 'serializer_field'
[24 / Jun / 2019 14:34:45] "POST / graphs / HTTP / 1.1" 500 21130
El valor predeterminado debe ser una instancia, no una clase: serializers.CurrentUserDefault()
como se muestra en la documentación
El valor predeterminado debe ser una instancia, no una clase:
serializers.CurrentUserDefault()
como se muestra en la documentación
resolvió el problema
El valor predeterminado debe ser una instancia, no una clase:
serializers.CurrentUserDefault()
como se muestra en la documentación
Gracias, me ayudaste a resolver este problema.
Comentario más útil
El valor predeterminado debe ser una instancia, no una clase:
serializers.CurrentUserDefault()
como se muestra en la documentación