Hola Alexis, gracias por tu pronnta rspuesta.
Bueno la verda no se cual es la razon del porque no me captura el error. Este es el codigo espero puedas ayudarme.
El modelo.
class Institucion(models.Model):
codigo_amie = models.CharField(max_length = 8, unique = True)
nombre = models.CharField(max_length = 50)
canton = models.CharField(max_length = 30)
parroquia = models.CharField(max_length = 30)
comunidad = models.CharField(max_length = 30, blank = True)
nivel = models.CharField(max_length = 50)
El formulario.
class InstitucionForm(forms.Form):
codigo_amie = forms.CharField(max_length = 8, label = 'Codigo Amie(*)',widget=forms.TextInput(
attrs={'size':'10', 'class':'inputText'}))
nombre = forms.CharField(max_length = 100, label = 'Nombre Institucion(*)',widget=forms.TextInput(
attrs={'size':'50', 'class':'inputText'}))
canton = forms.ModelChoiceField(queryset = Canton.objects.all(),label = 'Canton(*)')
parroquia = forms.ModelChoiceField(queryset = Parroquia.objects.all(),label = 'Parroquia(*)')
comunidad = forms.CharField(max_length = 100, required = False, label = 'Comunidad')
nivel = forms.CharField(max_length=50,
widget=forms.Select(choices=TITLE_CHOICES))
def clean_amie(self): #METODO DE VALIDACION DE CAMPOS EXISTENTES
valor = self.cleaned_data['codigo_amie']
if Institucion.objects.filter(codigo_amie = valor).exists():
raise forms.ValidationError('Institucion con ese codigo AMIE ya existe')
return valor
la vista:
@login_required
def ingreso_instituciones(request):
now = datetime.now().date()
form = InstitucionForm(request.POST or None)
if request.POST and form.is_valid():
institucion = Institucion()
institucion.codigo_amie = form.clean_amie() # VALIDACION DEL CAMPO EN EN FORMULARIO.
institucion.nombre = form.cleaned_data['nombre']
institucion.canton = form.cleaned_data['canton']
institucion.parroquia = form.cleaned_data['parroquia']
institucion.comunidad = form.cleaned_data['comunidad']
institucion.nivel = form.cleaned_data['nivel']
institucion.save()
return HttpResponseRedirect('/gracias/')
return render_to_response('add_inst.html',{'form':form},context_instance=RequestContext(request))
y la plantilla.
<form class="ingresar" action="" method="POST">
<table width="100%" cellspacing="2" cellpadding="2" border="0" bgcolor="#E6E6E6">
<th colspan="2" bgcolor="#D8D8D8"><font color="#2E2E2E">Por favor, Ingrese los datos de la Institución </font></th>
<tr>
<td colspan="2" bgcolor="#D8D8D8" align="center"><b>Campos obligatorios(*)</td>
</tr>
{{form.as_table}}
</table>
<p><input type="submit" value="Guardar"></p>
</form>