В Django моделях у меня есть два класса, и я хочу проверить класс. Комментарий Дата должна быть меньше или равна классу. Год отчета.
class Report(models.Model):
year = models.PositiveIntegerField('year of report', default=date.today().year)
и другой класс:
class Comment():
report = models.ForeignKey(Report, on_delete=models.CASCADE, related_name='comment')
date = models.DateField('date', validators=[year_validation])
Как я могу сделать это? Я обнаружил что-то вроде пользовательских валидаторов. Я сделал функцию и использовал ее, но как я могу получить доступ ко второму классу здесь? Я хотел сделать что-то подобное, но это не работает.
def year_validation(self, value):
if value.year > self.report.year:
raise ValidationError('The year should be not later than: {}'.format(self.report.year))