I have the following method:
def _attempt(actor):
    if actor.__class__ != User:
        raise TypeError
Which is called from a view:
self.object.attempt(self.request.user)
As you can see, the _attempt method expects actor to be type django.contrib.auth.models.User, however the object appears to be of type django.utils.functional.SimpleLazyObject. Why is this so? And more importantly, how can I convert the LazyObject (which apparently is a kind of wrapper for a User object) into a User object?
More info on Request.user is available here: https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.user This documentation seems to indicate the request.user should be a User object...
======Post-edit=====
I've got the following method now:
def _attempt(obj, action, actor, msg): 
    actor.is_authenticated() 
    if isinstance(actor, LazyObject): 
        print type(actor) 
I'm passing a user, however the if condition is still true, actor is still a LazyObject. Why is this so?
 
     
     
     
     
     
     
     
     
     
    