J'ai un Django modèle qui ressemble à ceci.
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")
J'utilise un formulaire pour l'ajout de modèles qui ressemble à ceci:
class SolutionForm(forms.ModelForm):
class Meta:
model = Solution
exclude = ['problem']
Mon problème est que l' SolutionForm
ne pas valider Solution
s' unique_together
de la contrainte et par conséquent, il renvoie un IntegrityError
lorsque vous essayez d'enregistrer le formulaire. Je sais que je pourrais utiliser validate_unique
afin de vérifier manuellement pour cela, mais je me demandais si il y a moyen de rattraper ce dans la validation du formulaire et retourner un formulaire d'erreur automatiquement.
Merci.