Traceback (most recent call last):
File "/home/ali/MAKEEN/makeen-tasks/ali/tasks/user/venv/user/lib/python3.10/site-packages/django/core/handlers/exception.py", line 56, in inner
response = get_response(request)
File "/home/ali/MAKEEN/makeen-tasks/ali/tasks/user/venv/user/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/ali/MAKEEN/makeen-tasks/ali/tasks/user/venv/user/lib/python3.10/site-packages/django/views/decorators/csrf.py", line 55, in wrapped_view
return view_func(*args, **kwargs)
File "/home/ali/MAKEEN/makeen-tasks/ali/tasks/user/venv/user/lib/python3.10/site-packages/django/views/generic/base.py", line 103, in view
return self.dispatch(request, *args, **kwargs)
File "/home/ali/MAKEEN/makeen-tasks/ali/tasks/user/venv/user/lib/python3.10/site-packages/rest_framework/views.py", line 509, in dispatch
response = self.handle_exception(exc)
File "/home/ali/MAKEEN/makeen-tasks/ali/tasks/user/venv/user/lib/python3.10/site-packages/rest_framework/views.py", line 469, in handle_exception
self.raise_uncaught_exception(exc)
File "/home/ali/MAKEEN/makeen-tasks/ali/tasks/user/venv/user/lib/python3.10/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
raise exc
File "/home/ali/MAKEEN/makeen-tasks/ali/tasks/user/venv/user/lib/python3.10/site-packages/rest_framework/views.py", line 506, in dispatch
response = handler(request, *args, **kwargs)
File "/home/ali/MAKEEN/makeen-tasks/ali/tasks/user/api/views.py", line 75, in post
user = User.objects.filter(email=email).first()
AttributeError: type object 'User' has no attribute 'objects'
[04/Mar/2023 11:12:44] "POST /password-reset/ HTTP/1.1" 500 101524
views.py
class PasswordReset(generics.GenericAPIView):
serializer_class = serializers.EmailSerializer
def post(self, request):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
email = serializer.data["email"]
user = User.objects.filter(email=email).first()
if user:
encoded_pk = urlsafe_base64_encode(force_bytes(user.pk))
token = PasswordResetTokenGenerator().make_token(user)
reset_url = reverse("reset-password", kwargs={"encoded_pk": encoded_pk, "token": token})
rest_url = f"localhost:8000{reset_url}"
return Response(
{
"message":
f"Your password reset link: {rest_url}"
},
status=status.HTTP_200_OK,
)
else:
Response(
{
"message": "User doesn't exists"
},
status=status.HTTP_400_BAD_REQUEST,
)
serializers.py
class EmailSerializer(serializers.Serializer):
email = serializers.EmailField()
class Meta:
field = ("email",)