Аллах Джанго: Получение ошибки IntegrityError при создании пользователя - PullRequest
0 голосов
/ 21 мая 2018

Я видел несколько дискуссий, касающихся этого, но, похоже, общей причиной этого является ввод ACCOUNT_USER_MODEL_USERNAME_FIELD=None, чего я не делаю.

Точная ошибка:

duplicate key value violates unique constraint "auth_user_username_key" DETAIL: Key (username)=(testaccount) already exists.

(Нет, по крайней мере, когда я заполняю форму. Несмотря на ошибку, она появляется в моей базе данных, что приводитя верю, что он делает учетную запись дважды.)

Вот мои пользовательские настройки Аллаута:

ACCOUNT_EMAIL_REQUIRED=True
ACCOUNT_USERNAME_REQUIRED=True
ACCOUNT_USER_MODEL_USERNAME_FIELD='username'
ACCOUNT_EMAIL_VERIFICATION=True
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION=True
ACCOUNT_SIGNUP_FORM_CLASS = 'profiles.forms.UserCreateForm'

И, на всякий случай, вот моя форма:

<form class="signup" id="signup_form" method="post" action="{% url 'account_signup' %}">
  {% csrf_token %}
  {% bootstrap_form form %}
  {% if redirect_field_value %}
    <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
  {% endif %}
  <br>
  <button type="submit" class="btn btn-primary btn-block">Sign Up</button>
</form>

Обновление: я пытался исправить это в течение 2 недель, и мой код претерпел много итераций.Кажется, это минимальный объем кода, который я могу иметь, и все еще воспроизводить ошибку.

1 Ответ

0 голосов
/ 24 июня 2019

У меня была ошибка целостности, потому что у моих существующих пользователей были идентичные имена пользователей, прежде чем я начал реализовывать это (я использую PostgreSQL).В этом случае у вас может быть несколько пользователей с именем пользователя «testaccount».Возможно, вам следует попытаться удалить существующих пользователей или убедиться, что имена пользователей уникальны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...