Queria registrar un modelo en el admin de django, y definir uno de sus campos como hidden.
Para mi sorpresa el label de dicho campo no me hacia caso.
creo que resulta traumatico que un campo hidden de un formulario, le acompane inseparablemente su label no ;-)
Comence a escarbar las plantillas del admin que estuvieran implicadas (change_form.html e includes/fieldset.html) pero demasiado desbarajuste habia que armar.
Después de almuerzo se me ocurrio apoyarme en jquery momentaneamente ya que al final de todas pienso que pronto, esto tenga una solucion a lo django.
Aqui les va mi solución:
extendi la plantilla change_form.html para la aplicacion que necesitaba de la siguiente forma:
{% extends "admin/change_form.html" %}
{% block extrahead %}
{{ block.super }}
<script>
$(document).ready(function(){
$('.hidden').parent().parent().hide();
});
</script>
{% endblock %}
y en la definicion del campo hidden le agregue como atributo lo siguiente:
attr_hidden = {'class' : 'hidden'}
class AdminForm(forms.ModelForm)
hidden_field = forms.CharField(widget=HiddenInput(attr_hidden))
class Meta:
model = MyModel
para mi sigue siendo una solucion indecorosa, asi que cualquier idea, sera bienvenida.
animo djangueros!!!!!
una gran virtud tuya es que nunca te rindes...dale sigue en ello que la perseverencia siempre nos lleva a la solucion... ;)
ResponderEliminar