#30941: hasattr(request, '_cached_user') check no longer works
---------------------------------+--------------------------------------
     Reporter:  Collin Anderson  |                    Owner:  nobody
         Type:  Bug              |                   Status:  new
    Component:  contrib.auth     |                  Version:  master
     Severity:  Normal           |               Resolution:
     Keywords:                   |             Triage Stage:  Unreviewed
    Has patch:  0                |      Needs documentation:  0
  Needs tests:  0                |  Patch needs improvement:  0
Easy pickings:  0                |                    UI/UX:  0
---------------------------------+--------------------------------------
Description changed by Collin Anderson:

Old description:

> Before https://github.com/django/django/commit/2f01079, it was possible
> to check to see whether the lazy user has been evaluated or not using
> `hasattr(request, '_cached_user')`. This was undocumented, but used a
> lot:
> https://github.com/search?q=hasattr%28request%2C+%27_cached_user%27%29&type=Code
>
> I think we should try to maintain backwards compatibility for that that
> check, and document and test it for the future. (Or if nothing else,
> document and test the new behavior and add a release note about the
> change.)
>
> This is really helpful in middleware to be able to check this, so you can
> access the user if it has already been accessed, but can avoid fetching
> user if it hasn't already been fetched.

New description:

 Before https://github.com/django/django/commit/2f01079, it was possible to
 check to see whether the lazy user has been evaluated or not using
 `hasattr(request, '_cached_user')`.

 This was undocumented, but I think we should try to maintain backwards
 compatibility for that that check, and document and test it for the
 future. (Or if nothing else, document and test how to do this the new way
 and add a release note about the change.)

 This is really helpful in middleware to be able to check whether the user
 has been evaluated, so you can access the user if it has already been
 accessed, but can avoid fetching user if it hasn't already been fetched.

--

-- 
Ticket URL: <https://code.djangoproject.com/ticket/30941#comment:3>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/072.c8ea12dfbe1d08e51297a74dcc32defe%40djangoproject.com.

Reply via email to