Модифицирующие поля формируют порядок модели CustomUser - PullRequest
1 голос
/ 07 июля 2019

Я создал модель customUser, поэтому значение по умолчанию User будет перезаписано.

Это моя customUser модель:

from django import forms
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from .models import CustomUser
from crispy_forms.helper import FormHelper

class CustomUserCreationForm(UserCreationForm):
  helper = FormHelper()
  class Meta(UserCreationForm):
    model = CustomUser
    fields = ('first_name', 'username', 'email', 'last_name', 'organization', 'location', 'postcode', 'phone', 'agree_conditions')

class CustomUserChangeForm(UserChangeForm):
  class Meta(UserChangeForm):
    model = CustomUser
    fields = ('username', 'email', 'first_name', 'last_name','organization', 'location', 'postcode', 'phone', 'agree_conditions')

Все работает отлично, однако я не могу изменить порядок полей «Пользователь по умолчанию».

Я знаю, как переупорядочить поля формы, я могу просто изменить порядок в fields = (a, b, c). Например, если я хочу, чтобы «c» появлялся перед «a» и «b» в форме, я могу сделать: fields = (c, a, b).

ОДНАКО я хочу переместить пароль и подтверждение пароля

но я не знаю, как это сделать, потому что знаю их имя в модели по умолчанию для пользователя.

В идеале я хочу это:

    fields = ('username', 'email', 'PASSWORD_WHICH_I_DONT_KNOW_THE_NAME', 'CONFIRMPASSWORD_WHICH_I_DONT_KNOW_THE_NAME' 'first_name', 'last_name','organization', 'location', 'postcode', 'phone', 'agree_conditions')

1 Ответ

0 голосов
/ 07 июля 2019

Решено, это было глупо с моей стороны.

Я проверил HTML формы и обнаружил, что:

  • "PASSWORD_WHICH_I_DONT_KNOW_THE_NAME" названо по умолчанию:пароль1

  • «CONFIRMPASSWORD_WHICH_I_DONT_KNOW_THE_NAME» по умолчанию именуется: password2

Так будет:

fields = ('username', 'email', 'password1', 'password2' 'first_name', 'last_name','organization', 'location', 'postcode', 'phone', 'agree_conditions')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...