首页 > 解决方案 > 两个字段之间的范围过滤器

问题描述

我有带有 list_filter 的 TaskAdmin:

    from rangefilter.filters import AdminSplitDateTime, DateTimeRangeFilter as OriginalDateTimeRangeFilter
    
    ('created_at', OriginalDateTimeRangeFilter),
    ('finished_at', OriginalDateTimeRangeFilter),

我收到下一个 URL:/admin/core/task/?&created_at__range__gte_0=2021-10-01&created_at__range__gte_1=10%3A50&created_at__range__lte_0=2021-10-08&created_at__range__lte_1=22%3A50 finished_at 也一样:/admin/core/task/?&finished_at__range__gte_0=2021-10-01&finished_at__range__gte_1=10%3A50&finished_at__range__lte_0=2021-10-08&finished_at__range__lte_1=22%3A50

它仅适用于 created_at 和 finished_at 日期(如果它们是分开的),但我需要将它们连接起来,我需要在 created_at 和 finished_at 日期之间制作一个过滤器。即,使DateStart 与created_at 进行比较,DateFinish 与finished_at 进行比较。

所以我需要接收下一个 URL 请求:/admin/core/task/?&created_at__range__gte_0=2021-10-01&created_at__range__gte_1=10%3A50&finished_at__range__lte_0=2021-10-08&finished_at__range__lte_1=22%3A50

尝试这样做,但对我不起作用:

    ('created_at', 'finished_at', OriginalDateTimeRangeFilter),

我该怎么做?也许你们中的一些人也遇到过同样的问题?我希望我能够解释我需要什么。

标签: pythondjango

解决方案


推荐阅读