我有以下代码。 它允许使用Django中的Rest API上传图像。 但是由于这个课程的性质,我无法以通常的方式获得用户(request.user)
class PhotoViewSet(viewsets.ModelViewSet, APIView):
permission_classes = (permissions.IsAuthenticated,)
queryset = Photo.objects.all()
serializer_class = PhotoSerializer
@receiver(post_save, sender=Photo)
def my_handler(sender, instance, **kwargs):
print request.user.username #How to make this work?
router = routers.SimpleRouter()
router.register(r'avatar', PhotoViewSet, base_name='love_stackoverflow')
答案 0 :(得分:1)
如果您要将用户添加到Photo
实例,请使用PhotoSerializer中的CurrentUserDefault
(作为只读字段)或视图中的pass the user to the serializer's save
perform_create