def send(self, request):
        """
        Sends the action signal on POST
        Must have a verb and optional target/action_object with content_type_id/object_id pairs
        Actor is set as current logged in user
        """
        data = request.data
        if hasattr(data, 'dict'):
            data = data.dict()
        if 'verb' not in data:
            return Response(status=400)

        for name in ('target', 'action_object'):
            if f'{name}_content_type_id' in data and f'{name}_object_id' in data:
                ctype = get_or_not_found(
                    ContentType, f'ContentType for {name} query does not exist', pk=data.pop(f'{name}_content_type_id'))
                data[name] = get_or_not_found(ctype.model_class(), f'Object for {name} query does not exist', pk=data.pop(f'{name}_object_id'))

        # dont let users define timestamp
        data.pop('timestamp', None)

        action_signal.send(sender=request.user, **data)
        return Response(status=201)

        Sends the action signal on POST
        Must have a verb and optional target/action_object with content_type_id/object_id pairs
        Actor is set as current logged in user
        
actstream/drf/views.py