Opened 7 years ago

Closed 7 years ago

Last modified 5 years ago

#12776 closed (fixed)

get_profile() may throw AttributeError instead of SiteProfileNotAvailable

Reported by: master Owned by: nobody
Component: contrib.auth Version: 1.1
Severity: Keywords: profile
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

I didn't find a case to fire:
except (ImportError, ImproperlyConfigured)

But some others cases :

In AUTH_PROFILE_MODULE, if:

  • you don't provide a '.': 'accountsUserProfile'

==> ValueError

  • you mispell or forget the app_label part or the model_name part: 'accounts.', 'accXXXounts.UserProfile'

No exception is raised and the variable 'model' is returned as None.
==> AttributeError on following line: 'NoneType' object has no attribute '_default_manager'

I needed something similar for my own code, that I wrote as:

try:
    ...
    model = ...
    if not model:
        raise SiteProfileNotAvailable
    ...
except ValueError:
        raise SiteProfileNotAvailable

Attachments (1)

12776.patch (3.8 KB) - added by Bruno Renié 7 years ago.
Throws more SiteProfileNotAvailable, adds some verbosity

Download all attachments as: .zip

Change History (6)

comment:1 Changed 7 years ago by Russell Keith-Magee

milestone: 1.2
Triage Stage: UnreviewedAccepted

Changed 7 years ago by Bruno Renié

Attachment: 12776.patch added

Throws more SiteProfileNotAvailable, adds some verbosity

comment:2 Changed 7 years ago by Bruno Renié

Added a patch with tests. The patch adds some more human-friendly errors as well, to be reviewed by a native English speaker.

comment:3 Changed 7 years ago by Alex Gaynor

Triage Stage: AcceptedReady for checkin

comment:4 Changed 7 years ago by anonymous

Resolution: fixed
Status: newclosed

Fixed in r12506.

comment:5 Changed 5 years ago by Jacob

milestone: 1.2

Milestone 1.2 deleted

Note: See TracTickets for help on using tickets.
Back to Top