Получение значения поля из модели Django [дубликат]

У меня есть страница бронирования съемной квартиры, и пользователь должен указать даты заезда и выезда в форме бронирования. Я пытаюсь настроить функцию валидатора дат, которая не позволит выбранной дате отъезда быть раньше даты прибытия. Для этого мне нужно получить значение введенного поля arrival_date, чтобы использовать его в функции departure_before_arrival( ). Кто-нибудь может помочь?

models.py

def departure_before_arrival(value):
    if value < ??arrival_date??:
        raise forms.ValidationError("Your departure date must be after your arrival date!")
    return value

class Booking(models.Model):
    [...]
    arrival_date = models.DateField()
    departure_date = models.DateField(validators=[departure_before_arrival])
    [...]

Я пробовал предложенные методы из этой заметки, но ни один из них не помог мне.

Я также пробовал

def get_value(self, obj):
    return getattr(obj, self.name)

def departure_before_arrival(value):
    if value < get_value(Booking, self.arrival_date):
        raise forms.ValidationError("Your departure date must be after your arrival date!")
    return value

но продолжаем получать NameError "name 'arrival_date' is not defined"

Вернуться на верх