I wanted to delete a user. After a bit of struggling I ended up with: views.py the_user = get_user_model() @login_required def del_user(request): email = request.user.email the_user.objects.filter(email=email).delete() messages.warning(request, "bruker slettet.") return redirect("index")  But I really do not understand the following line: email = request.user.email.  And why not? email = request.the_user.email  Is this because the user is referring to the AbstractBaseUser?
request is an instance of an HttpRequest object. It represents the current received request. The AuthenticationMiddleware authenticates the user that made the request (based on cookies or however you have configured it) and adds the request.user attribute to it, so your code can get who the current user is that made the request. What you call the_user is the User model class. That's an arbitrary name you gave to a variable in your code. FYI, the request.user object is already a full fledged User instance, which already has a delete method. You don't need to find the same user again via the the_user model class, you can just do: @login_required def del_user(request): request.user.delete() messages.warning(request, "bruker slettet.") return redirect("index") 