【发布时间】:2020-03-01 15:52:42
【问题描述】:
我想在尝试创建个人资料但用户已有个人资料时显示错误
在我看来.py
class ProfileViewSet(viewsets.ModelViewSet):
serializer_class = ProfileSerializer
def get_queryset(self):
queryset = Profile.objects.filter(owner=self.request.user)
return queryset
def get_permissions(self):
permission_classes = []
if self.action == 'create':
permission_classes = [IsAuthenticated]
elif self.action == 'retrieve' or self.action == 'update' or self.action == 'partial_update':
permission_classes = [IsOwner]
elif self.action == 'list':
permission_classes = [IsAuthenticated]
elif self.action == 'destroy':
permission_classes = [IsAdminUser]
return [permission() for permission in permission_classes]
def perform_create(self, serializer):
profile = Profile.objects.filter(owner=self.request.user)
if not profile.exists():
serializer.save(owner=self.request.user)
else:
return Response(data={'detail': 'This user already has a profile'}, status=status.HTTP_400_BAD_REQUEST)
当我为已经拥有个人资料的用户创建个人资料时,我不会显示错误
【问题讨论】:
-
您可以使用message将错误返回给模板
标签: django django-rest-framework response