Wagtail - как заставить управление пользователями работать с User.is_active, являющимся @свойством?
Если сделать флаг User.is_active
флагом python @property
, а не полем для чтения базы данных, то это приведет к следующей ошибке:
django.core.exceptions.FieldError: Unknown field(s) (is_active) specified for User
class User(AbstractBaseUser, PermissionsMixin):
@property
def is_active(self):
return ....
Это происходит потому, что wagtail.users.forms.UserEditForm
включил "is_active"
в поля:
class UserEditForm(UserForm):
class Meta:
model = User
fields = {User.USERNAME_FIELD, "is_active"} | standard_fields | custom_fields
Эта ошибка возникает, пока "wagtail.users"
включена в settings.INSTALLED_APPS
, даже при переопределении форм по умолчанию, как описано в документации .
WAGTAIL_USER_EDIT_FORM = 'users.forms.CustomUserEditForm'
WAGTAIL_USER_CREATION_FORM = 'users.forms.CustomUserCreationForm'
Я пытался полностью отключить управление пользователями трясогузки, но, похоже, это невозможно.
https://github.com/wagtail/wagtail/issues/3657
Есть идеи, как заставить это работать?