¿Cómo editar campos editables = falsos en django admin?
Frecuentes
Visto 1,482 equipos
1
Tengo algunos campos que no necesitan mostrarse al usuario, pero deben ser editables por el administrador en el panel de administración. La solución proporcionada por Manoj Govindan aquí solo muestra el campo en admin, pero después de guardar y volver al formulario en admin, los campos se vuelven a desactivar. estoy usando django 1.6.5
mis modelos.py
class Profile(models.Model):
user = models.OneToOneField(User)
picture1 = ImageWithThumbsField(_("Photo1"), upload_to="photos", null=True,
blank=True, sizes=((150, 225),))
picture1_confirm = models.NullBooleanField(null=True, editable=False)
picture2 = ImageWithThumbsField(_("Photo2"), upload_to="photos", null=True,
blank=True, sizes=((150, 225),))
picture2_confirm = models.NullBooleanField(null=True, editable=False)
picture3 = ImageWithThumbsField(_("Photo3"), upload_to="photos", null=True,
blank=True, sizes=((150, 225),))
picture3_confirm = models.NullBooleanField(null=True, editable=False)
y admin.py
class CustomProfileForm(forms.ModelForm):
picture1_confirm = forms.BooleanField(required=False)
picture2_confirm = forms.BooleanField(required=False)
picture3_confirm = forms.BooleanField(required=False)
class Meta:
model = Profile
fields = ('picture1', 'picture1_confirm', 'picture2', 'picture2_confirm',
'picture3', 'picture3_confirm',)
class ProfileAdmin(admin.ModelAdmin):
form = CustomProfileForm
admin.site.register(Profile, ProfileAdmin)
0 Respuestas
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas python django django-models django-forms django-admin or haz tu propia pregunta.
Entonces, ¿quiere que el campo esté en la aplicación y sea editable, pero no quiere que el usuario lo vea? Si es así lo estás haciendo mal. No deben configurarse para
editable=False
si necesita poder editarlos... Debe utilizar otro método, como un formulario personalizado que no contenga el campo para mostrar al usuario. - Ngenator¿Por qué fue posible hacer esto en django 1.2.3? ¿Por qué mi camino no arroja ninguna excepción entonces? - Euphorbium
No hay nada malo con el código, solo está tratando de configurar algo para que no sea editable y luego tratando de editarlo forzándolo a aparecer en la página de administración. En cuanto a las versiones, creo que en la 1.5 tal vez, hicieron formularios más estrictos, tienes que especificar qué campos quieres mostrar en un formulario por razones de seguridad para que los usuarios solo vean lo que se supone que deben ver. - Ngenator