Пример #1
0
 def __init__(self, *args, **kwargs):
     """
     The `user` field is added here to help with recursive import issues mentioned in rest_user.serializers
     """
     super(CommentSerializer, self).__init__(*args, **kwargs)
     self.fields["user"] = UserSerializer(
         read_only=True, default=serializers.CurrentUserDefault())
Пример #2
0
class FlagSerializer(serializers.ModelSerializer):
    user = UserSerializer(read_only=True,
                          default=serializers.CurrentUserDefault())

    class Meta:
        model = Flag
        fields = '__all__'
Пример #3
0
class PushwooshTokenSerializer(serializers.ModelSerializer):
    user = UserSerializer(read_only=True,
                          default=serializers.CurrentUserDefault())
    hwid = serializers.CharField(write_only=True)
    language = serializers.CharField(write_only=True)

    class Meta:
        model = PushwooshToken
Пример #4
0
class FollowSerializer(serializers.ModelSerializer):
    user = serializers.HiddenField(default=serializers.CurrentUserDefault())
    follower = UserSerializer(read_only=True, source="user")
    following = serializers.SerializerMethodField('get_user_follow')

    class Meta:
        model = Follow
        exclude = ('user', )

    def get_user_follow(self, obj):
        user = User.objects.get(pk=obj.object_id)
        serializer = UserSerializer(
            user, context={'request': self.context.get('request')})
        return serializer.data
Пример #5
0
    def post(self, request, *args, **kwargs):
        serializer = PasswordSetSerializer(data=request.data)
        serializer.is_valid(raise_exception=True)

        try:
            uid = urlsafe_base64_decode(serializer.data['uid'])
            user = User._default_manager.get(pk=uid)
        except (TypeError, ValueError, OverflowError, User.DoesNotExist):
            user = None

        if user is not None and default_token_generator.check_token(user, serializer.data['token']):
            user.set_password(serializer.data['password'])
            user.save()
            return Response(UserSerializer(instance=user, context={'request': request}).data)
        else:
            return Response({"errors": "Password reset unsuccessful"}, status=status.HTTP_400_BAD_REQUEST)
Пример #6
0
class FollowSerializer(serializers.ModelSerializer):
    follower = UserSerializer(read_only=True, source="user")
    following = serializers.SerializerMethodField('get_user_follow')

    class Meta:
        model = Follow
        fields = [
            'id', 'follower', 'following', 'created', 'content_type',
            'object_id'
        ]

    def get_user_follow(self, obj):
        user = User.objects.get(pk=obj.object_id)
        serializer = UserSerializer(
            user, context={'request': self.context.get('request')})
        return serializer.data
Пример #7
0
class NotificationSerializer(serializers.ModelSerializer):
    message = serializers.SerializerMethodField()
    reporter = UserSerializer(read_only=True)
    content_object = serializers.SerializerMethodField()

    class Meta:
        model = Notification
        fields = ('created', 'name', 'message', 'reporter', 'content_object')

    def get_message(self, obj):
        return obj.message(Notification.PUSH)

    def get_content_object(self, obj):
        serializer_class = yak_settings.SERIALIZER_MAPPING[type(
            obj.content_object)]
        serializer = serializer_class(instance=obj.content_object,
                                      context=self.context)
        return serializer.data

    def to_representation(self, instance):
        ret = super(NotificationSerializer, self).to_representation(instance)
        ret[instance.content_object._meta.model_name] = ret.pop(
            'content_object')
        return ret
Пример #8
0
class LikeSerializer(serializers.ModelSerializer):
    user = UserSerializer(read_only=True,
                          default=serializers.CurrentUserDefault())

    class Meta:
        model = Like
Пример #9
0
 def get_user_follow(self, obj):
     user = User.objects.get(pk=obj.object_id)
     serializer = UserSerializer(
         user, context={'request': self.context.get('request')})
     return serializer.data