Esempio n. 1
0
class UserModelSerializer(serializers.ModelSerializer):
    profile = ProfileModelSerializer(read_only=True)

    class Meta:
        model = User
        fields = ('username', 'first_name', 'profile', 'last_name', 'email',
                  'phone_number')
Esempio n. 2
0
 def profile(self, request, *args, **kwargs):
     user = self.get_object()
     profile = user.profile
     partial = request.method == 'patch'
     serializer = ProfileModelSerializer(profile,
                                         data=request.data,
                                         partial=partial)
     serializer.is_valid(raise_exception=True)
     serializer.save()
     data = UserModelSerializer(user).data
     return Response(data)
Esempio n. 3
0
class UserModelSerializer(serializers.ModelSerializer):
    """User model serializer."""

    profile = ProfileModelSerializer(read_only=True)
    teacher = TeacherModelSerializer(read_only=True)

    class Meta:
        """Meta class."""

        model = User
        fields = ('id', 'username', 'first_name', 'last_name', 'email',
                  'phone_number', 'is_staff', 'profile', 'teacher')

        read_only_fields = (
            'id',
            'username',
        )
Esempio n. 4
0
 def profile(self, request, *args, **kwargs):
     """ Update profile data """
     user = self.get_object()
     profile = user.profile
     partial = request.method == 'PATCH'
     serializer = ProfileModelSerializer(profile,
                                         data=request.data,
                                         partial=partial)
     serializer.is_valid(raise_exception=True)
     serializer.save()
     data = UserModelSerializer(user).data
     return Response(data, status=status.HTTP_200_OK)
Esempio n. 5
0
class UserModelSerializer(serializers.ModelSerializer):
    """User Model Serializer"""
    # vamos a redefinir el campo profile para traer la picture y biography
    # definiremos los atributos que vamos a mostrar en el serializer
    profile= ProfileModelSerializer(read_only=True)
    class Meta:
        """Meta Class"""
        model = User
        # importamos el modelo de usuario que contiene todos nuestros datos
        fields =(
            'username',
            'first_name',
            'last_name',
            'email',
            'phone_number',
            # usaremos una referencia hacia el profile
            'profile',
        )
Esempio n. 6
0
 def profile(self, request, *args, **kwargs):
     """Update profile data."""
     user = request.user
     profile = user.profile
     partial = request.method == 'PATCH'
     serializer = ProfileModelSerializer(
         profile,
         data=request.data,
     )
     serializer.is_valid(raise_exception=True)
     serializer.save()
     data = UserWithoutTeacherModelSerializer(user).data
     return Response(data)
Esempio n. 7
0
 def profile(
     self, request, *args, **kwargs
 ):  # Esta vista solo se permitira para el dueño de la cuenta.Esta vista tendra un path que sera despues la ruta de actualizar user <path update user>/profile/ para que actualice algo especifico
     """Actualiza datos de perfil"""
     user = self.get_object(
     )  # Devuelve el usuario que se coloca con su username en la url
     profile = user.profile
     partial = request.method == 'PATH'
     serializer = ProfileModelSerializer(
         profile,
         data=request.
         data,  # Son los datos recibidos desde el request desde el body
         partial=
         partial  # Este campo permite saber al serializer que sera parcial. Por defecto el serializer pensara que una actualizacion total. Para ambas peticiones no nos devolvera error si no mandamos nada, por que ningun dato es requerido
     )
     serializer.is_valid(raise_exception=True)
     serializer.save()
     data = UserModelSerializer(
         user
     ).data  # Usamos UserModelSerializer por que el serializer tendra un campo llamado profile
     return Response(data)