Проблема с освещением Android OpenGLES

Вы не сможете это сделать, если используете UserChangeForm.

См. это https://github.com/django/django/blob/master/django/contrib /auth/forms.py.

Вы заметите, что UserChangeForm на этой странице явно определяет username и password. Эти поля присутствуют в переменной declared_fields в форме.

exclude и fields работают только с полями, взятыми из model, определенных в Meta. Если вы явно определяете какое-либо поле i.e declared_fields, они будут присутствовать в форме, даже если они были исключены с помощью exclude. Итак, эти поля показывают вам.

Чтобы узнать больше об этой проверке __new__ из ModelFormMetaclass в https://github.com/django/django/blob/master/django/ forms / models.py

Обход проблемы:

Не используйте UserChangeForm и читайте его код. Это не дает вам многого. Вы можете написать свою собственную форму, которая простирается только от ModelForm и устанавливает Meta Model как пользователя. Скопируйте части из UserChangeForm в вашу форму.

class UserForm(forms.ModelForm):

    class Meta:
        model = User

    def __init__(self, *args, **kwargs):
        #copy any functionality you want form UserChangeForm

    def clean_password(self):
        #copy functionality provided by UserChangeForm 

1
задан genpfault 7 October 2010 в 14:31
поделиться