我想在创建个人资料时显示错误,但用户已经拥有一个个人资料
在我的views.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)
当我为已经拥有个人资料的用户创建个人资料时,我不会显示错误