que tienen un modelo Django que tiene este aspecto.ModelForm validación unique_together de Django
class Solution(models.Model):
'''
Represents a solution to a specific problem.
'''
name = models.CharField(max_length=50)
problem = models.ForeignKey(Problem)
description = models.TextField(blank=True)
date = models.DateTimeField(auto_now_add=True)
class Meta:
unique_together = ("name", "problem")
Puedo usar un formulario de añadido de los modelos que tiene este aspecto:
class SolutionForm(forms.ModelForm):
class Meta:
model = Solution
exclude = ['problem']
Mi problema es que el SolutionForm
no valida Solution
's unique_together
restricción y, por tanto, devuelve un IntegrityError
cuando se trata de guarda el formulario Sé que podría utilizar validate_unique
para comprobar manualmente para esto, pero me preguntaba si hay alguna manera de coger esto en la validación de formularios y devolver un error de forma automática.
Gracias.
¿Seguro que configuró todo correctamente debido a que la documentación acerca de los modelos de formularios syas claramente: "De forma predeterminada, el método clean() valida la exclusividad de los campos marcados como únicos, unique_together o unique_for_date | month | year en el modelo." Http://docs.djangoproject.com/en/1.1/topics/forms/modelforms/# overriding-the-clean-method –
¿Puedes probarlo sin la parte de exclusión? seleccionar manualmente el problema que supongo que está determinado por su vista. –