Данные поля выбора роли не сохраняются для формы UserRegsitrationForm django

После отправки формы SignUpform появляется следующее сообщение об ошибке:

У объекта 'NoneType' нет атрибута '_inc_path' Эта проблема связана с полем выбора роли в моей модели CustomUser. Модели прекрасно функционируют без поля выбора роли, и все формы отображаются и сохраняются правильно. Я подозреваю, что моя форма с полем выбора не передает/сохраняет корректно входные значения в модель CustomUser.

Любой вклад будет высоко оценен.

Models.py:


class CustomUser(AbstractUser):
    display_name = models.CharField(verbose_name=("Display name"), max_length=30, help_text=("Will be shown e.g. when commenting"))
    ...
    country = CountryField(blank=True, null=True)
    ...
    role = models.CharField(choices = ROLES, max_length = 50, default = "regular_user",)
    ...

class Meta:
        ordering = ['last_name']

    def get_absolute_url(self):
        return reverse('account_profile')

    def __str__(self):
        return f"{self.username}: {self.first_name} {self.last_name}" ``` 

forms.py:

class SignupForm(forms.Form):
    first_name = forms.CharField(max_length=30, label=_("First name"))
    last_name = forms.CharField(max_length=30, label=_("Last name"))
    display_name = forms.CharField(max_length=30, label=_("Display name"), help_text=_("Will be shown e.g. when commenting."))
    role = forms.ChoiceField(choices = ROLES, label="Role", initial='Regular_user', widget=forms.Select(), required=True)

    def signup(self, request, user):
        user.first_name = self.cleaned_data['first_name']
        user.last_name = self.cleaned_data['last_name']
        user.display_name = self.cleaned_data['display_name']
        user.role = self.cleaned_data['role']
        user.save() 

users/create.html:

{% extends "wagtailusers/users/create.html" %}
{% block extra_fields %}
    ...
    {% include "wagtailadmin/shared/field_as_li.html" with field=form.role %}
...
{% endblock extra_fields %}
 
settings.py:
 
AUTH_USER_MODEL = 'userauth.CustomUser'
WAGTAIL_USER_CREATION_FORM ='userauth.forms.WagtailUserCreationForm'
WAGTAIL_USER_EDIT_FORM = 'userauth.forms.WagtailUserEditForm'
WAGTAIL_USER_CUSTOM_FIELDS = ['display_name',... 'role', ...]
ACCOUNT_SIGNUP_FORM_CLASS = 'userauth.forms.SignupForm' ``` 

Похоже, что данные дерева страниц в вашей базе данных стали непоследовательными, что привело к сбою при создании новой ArticleIndexPage. (В частности, запись для 'домашней' страницы показывает, что у нее есть дочерние страницы, что означает, что для поиска правильной позиции для новой страницы необходимо просмотреть записи дочерних страниц - но когда он пытается получить эти дочерние страницы, ни одна из них не возвращается). Это могло произойти из-за предыдущей ошибки, возникшей на пути создания или удаления страницы.

Чтобы исправить это, выполните: ./manage.py fixtree

Вернуться на верх