У меня есть модель 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")
Я использую форму для добавления моделей, которая выглядит следующим образом:
class SolutionForm(forms.ModelForm):
class Meta:
model = Solution
exclude = ['problem']
Моя проблема в том, что SolutionForm
не проверяет ограничение Solution
unique_together
и, таким образом, возвращает IntegrityError
при попытке сохранить форму. Я знаю, что мог бы использовать validate_unique
, чтобы вручную проверить это, но мне было интересно, есть ли способ отловить это в проверке формы и автоматически вернуть ошибку формы.
Спасибо.