我有一个带有日期字段的模型。
我正在尝试通过传递日期对象或空值来查询模型。
根据ORM查询中提供的输入,查询应以不同的方式表现。
我将两个变量传递给ORM查询st_date
和exp_date
。 exp_date
有时可以为None。
如果exp_date中有某些值,我需要查询模型并获取scheduled_end_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用作查询值
为什么要查询空值...如果“无”表示您要过滤x > date
,请改为使用x > date and < date
作为大日期。
if not exp_date:
st_date="2099-01-01"