【问题标题】:GET 'today' data in Django-Filter/DRF在 Django-Filter/DRF 中获取“今天”数据
【发布时间】:2021-05-07 10:50:20
【问题描述】:

我正在尝试使用 django-filter/DRF 从当天获取今天或昨天的数据。

class SampleFilter(filters.FilterSet):
    start_date = DateTimeFilter(field_name='timestamp', lookup_expr='gte')
    end_date = DateTimeFilter(field_name='timestamp', lookup_expr='lte')

    class Meta:
        model = Sample
        fields = []

在我的 django-rest api 网址上。当我得到今天日期的数据start_date=${start}&end_date=${end} 时,即使数据库中有数据,它也会返回零数据。

"GET /api/v1/sample/?start_date=2021-02-02&end_date=2021-02-02 HTTP/1.1" 200 2" 是 200 成功,但它什么也没返回。

我的代码有什么问题?请帮忙。谢谢!

【问题讨论】:

    标签: django django-rest-framework django-filter


    【解决方案1】:

    您使用的是 DateTimeFilter,而不是 DateFilter。

    通过提供像“2021-02-02”这样的值 - 即日期,而不是日期时间 - 它无法解析,并默默地丢弃该值和过滤器。

    尝试更改为 DateFilter,或将完整的日期时间作为参数传递。

    【讨论】:

    • 谢谢,我试着把它改成DateFromToRangeFilter
    猜你喜欢
    • 2021-08-29
    • 1970-01-01
    • 2022-01-26
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多