我正在使用Django ORM访问数据库模型,当我使用objects.all()
时,它运行良好,它返回数据库中的所有对象。但是,当我想按日期进行过滤时,我使用新的日期类型添加了过滤器,但它不返回任何内容,但我得到了一个空白的QuerySet。经过数小时的搜索和尝试不同的事情后,我发现object.filter(date__gte=date)
有用。
例如:
这行得通,我得到了date =今天的所有记录:
today = date.today()
Model.objects.filter(date__gte=today)
这些无效,它们返回空的QuerySet:
Model.objects.filter(date__contains=today)
Model.objects.filter(date__startswith=today)
Model.objects.filter(date__date=date.today())
我的问题是,当一种类型的查询都应返回相同的数据时,我却做错了什么呢?
答案 0 :(得分:0)
您可以为 DateTimeField 这样的操作{Reference):
Model.objects.filter(date__date=datetime.today())
如果其为 DateField ,则只需执行以下操作:
Model.objects.filter(date=datetime.today())