Я пытаюсь проверить и посмотреть, есть ли повторяющаяся запись в базе данных, прежде чем добавлять запись. Вот мои текущие модели -
class Education(models.Model):
school = models.CharField(max_length=100)
class_year = models.IntegerField(max_length=4, blank=True, null=True, choices=YEAR)
degree = models.CharField(max_length=100, blank=True, null=True)
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
employments = models.ManyToManyField(Employment)
В форме пользователь должен ввести школу. Классный год и степень не являются обязательными. Чтобы проверить наличие повторяющихся записей, прямо сейчас у меня есть --
if form.is_valid() and request.POST['school']:
school = form.cleaned_data['school']
try:
school_object = Education.objects.get(school=form.cleaned_data['school'],
class_year=form.cleaned_data['class_year'],
degree = form.cleaned_data['degree'])
except (Education.DoesNotExist):
school_object = Education(school=form.cleaned_data['school'],
class_year=form.cleaned_data['class_year'],
degree = form.cleaned_data['degree'])
school_object.save()
profile.educations.add(school_object)
profile.save()
Я получаю ValueError, если class_date не заполнен. Как это исправить, а также при проверке дубликатов? Спасибо.