Фильтр диапазона между двумя полями

у меня есть TaskAdmin с фильтром list_filter:

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),

Как я могу это сделать, может кто-то из вас сталкивался с такой же проблемой? Надеюсь, я смог объяснить, что мне нужно. Спасибо

Вернуться на верх