У меня есть модель, в которой есть поле даты.
Я пытаюсь запросить модель, передавая объект даты или значение NULL.
Запрос должен вести себя по-разному на основе входных данных, предоставленных в запросе ORM.
Я передам две переменные в запрос ORM st_date
и exp_date
. exp_date
иногда может быть None.
Мне нужно запросить модель и извлечь все записи, у которых scheduled_end_date
больше, чем указано в exp_date, если в exp_date есть какое-то значение. Если нет, он не должен рассматривать фильтр вообще.
models.py:
class DtModel(models.Model):
scheduled_start_date = DateField()
scheduled_end_date = DateField()
Запрос ORM:
st_date="2020-05-01"
exp_date=None
DtModel.objects.filter(scheduled_start_date__gte=st_date, scheduled_end_date__lte=exp_date)
Выдает ошибку, когда exp_date
является нулевым, когда он пытается сравнить None
и date field
?
ValueError: Невозможно использовать None в качестве значения запроса