【发布时间】:2021-07-24 03:25:07
【问题描述】:
我对使用ModelViewSet特别感兴趣
用于解决更新登录用户个人资料的挑战。我正在使用以下定义:
from rest_framework import viewsets
class ProfileRetrieveUpdate(viewsets.ModelViewSet):
serializer_class = UserProfileSerializer
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
def get_queryset(self):
return UserProfile.objects.filter(user=self.request.user)
def perform_update(self, serializer):
serializer.save(user=self.request.user)
通过覆盖get_queryset,我能够获得预期的行为,即当我访问端点时(比如profile/),我获得了登录用户的配置文件。但是,如果我必须更新配置文件,我只能通过转到 profile/6/ 来访问 PUT。有没有办法让ModelViewSet 在同一端点(即profile/)公开PUT?
【问题讨论】:
-
你可以用django-rest-framework-bulk来做到这一点
标签: django-rest-framework django-rest-viewsets