Opened 12 years ago

Last modified 12 years ago

#19354 closed Bug

Unable to set PK for custom user model — at Initial Version

Reported by: markteisman@… Owned by: nobody
Component: contrib.auth Version: 1.5-alpha-1
Severity: Normal Keywords: PK Primary Key Custom User
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: no

Description

Hello,
I've written a custom user model, and wished to set a field as the primary key. See the example below.

class User(AbstractBaseUser):

email = models.EmailField(_('email'), max_length=75, unique=True, primary_key=True)

USERNAME_FIELD = 'email'
...

Registering the user works fine, but when I authenticate the user using django.contrib.auth.views.login, I get an error stating that the 'User' object has no attribute 'id'.

I discussed this on IRC, where it was suggested to report this as a bug. We believe it is desirable to use .pk instead, for reasons related to portability.

A quick search has shown that there are 12 instances of 'user.id'.

Here's a summary of the error report:
Exception Type: AttributeError
Exception Value: 'User' object has no attribute 'id'
Exception Location: <path>/lib/python2.6/site-packages/django/contrib/auth/init.py in login, line 84
Python Executable: <path>/bin/python
Python Version: 2.6.5

Regards,
Mark

Change History (0)

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