Django: переопределение атрибутов поля ModelAdminForm - PullRequest
0 голосов
/ 09 сентября 2011

Я пытаюсь переопределить поле формы ModelAdmin, как показано ниже:

class MyModelAdmin(admin.ModelAdmin):
    def get_form(self, *args, **kwargs):
        form = super(MyModelAdmin, self).get_form(*args, **kwargs)
        form.fields['password'].help_text = "..."
        return form

Я получаю ошибку атрибута: «тип объекта FailedLoginForm не имеет атрибута« поля »».

Разве ModelAdmin.get_form () не возвращает объект обычной формы Django.Почему у него нет полей?

1 Ответ

1 голос
/ 09 сентября 2011

Я предлагаю вам просто переопределить форму, которую вы хотите.

class UserCreationForm(UserCreationForm):   
    # we want to use the email as the username
    def __init__(self, *args, **kwargs):
        super(UserCreationForm, self).__init__(*args, **kwargs)
        # let's require these fields
        self.fields['email'].required = True
        self.fields['first_name'].required = True
        self.fields['last_name'].required = True
        # let's not require these
        self.fields['username'].required = False
        self.fields['password1'].required = False
        self.fields['password2'].required = False

Оттуда вы можете делать практически все, что захотите.

...