Неуспешно ограничение UNIQUE: auth_user.username с регистрация с имейл

Имам тази странна грешка, след като интеграцията с django-allauth успешно работи в продължение на няколко дни. Моят подход е подобен на този проект. https://github.com/aellerton/demo-allauth-bootstrap

Вместо user_name, имейлът се използва тук като уникален идентификатор на потребителя.

IntegrityError at /accounts/signup/
UNIQUE constraint failed: auth_user.email
Request Method: POST
Request URL: http://localhost:8080/accounts/signup/
Django Version: 1.8
Exception Type: IntegrityError
Exception Value:

UNIQUE constraint failed: auth_user.email
Exception Location: ~/web_dev/unicorn_dev/lib/python3.4/site-packages/django/db/backends/sqlite3/base.py in execute, line 318
Python Executable: ~/web_dev/unicorn_dev/bin/python
Python Version: 3.4.3
Python Path:

['~/web_dev/unicorn_dev/funding',
'/Library/Frameworks/Python.framework/Versions/3.4/lib/python34.zip',
'/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4',
'/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/plat-darwin',
'/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload',
'~/web_dev/unicorn_dev/lib/python3.4/site-packages']

Ето класа на модела:

class AccountUser(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(('email address'), blank=False, max_length=255, unique=True)
    first_name = models.CharField(('first name'), max_length=40, blank=True, null=True, unique=False)
    last_name = models.CharField(_('last name'), max_length=40, blank=True, null=True, unique=False)

Ето настройките.py

ACCOUNT_USER_MODEL_USERNAME_FIELD = None /* user_name is not used, if not None, migration will report errors */
ACCOUNT_USERNAME_REQUIRED = False
#Enforce uniqueness of e-mail addresses.
ACCOUNT_USER_MODEL_EMAIL_FIELD = "email"
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_AUTHENTICATION_METHOD = "email"

Ето какво направих:

1. Deleting the whole database and re-migrating the database does not help at all. 
2. Checked this link https://github.com/pennersr/django-allauth/issues/1014

Може ли някой да помогне, за да посочи възможни грешки? Не можах да разбера защо изведнъж съобщава за такива грешки. Благодаря много!


person thinkdeep    schedule 13.10.2015    source източник


Отговори (1)


Най-накрая разбрах причините и ги изброих тук. Това може да помогне на някой, който попада в същата ситуация като мен.

  1. SITE_ID в settings.py трябва да се промени, за да съответства на site_id в admin
  2. Добавете регистрацията в персонализирания формуляр за регистрация. Моля, вижте тук Как да персонализирате потребителския профил, когато използвате django-allauth
person thinkdeep    schedule 13.10.2015