Skip to content
This repository was archived by the owner on Aug 12, 2025. It is now read-only.

Commit b04f746

Browse files
authored
Merge pull request #18 from palfrey/explicit-rf-filter-export
Explicitly export all the filters from the rest_framework module
2 parents 77aa1cd + 95f5eda commit b04f746

File tree

3 files changed

+105
-31
lines changed

3 files changed

+105
-31
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,38 @@
11
from .backends import DjangoFilterBackend as DjangoFilterBackend
22
from .filters import *
33
from .filterset import FilterSet as FilterSet
4+
5+
__all__ = [
6+
"DjangoFilterBackend",
7+
"FilterSet",
8+
"BooleanFilter",
9+
"AllValuesFilter",
10+
"AllValuesMultipleFilter",
11+
"BaseCSVFilter",
12+
"BaseInFilter",
13+
"BaseRangeFilter",
14+
"CharFilter",
15+
"ChoiceFilter",
16+
"DateFilter",
17+
"DateFromToRangeFilter",
18+
"DateRangeFilter",
19+
"DateTimeFilter",
20+
"DateTimeFromToRangeFilter",
21+
"DurationFilter",
22+
"Filter",
23+
"IsoDateTimeFilter",
24+
"IsoDateTimeFromToRangeFilter",
25+
"LookupChoiceFilter",
26+
"ModelChoiceFilter",
27+
"ModelMultipleChoiceFilter",
28+
"MultipleChoiceFilter",
29+
"NumberFilter",
30+
"NumericRangeFilter",
31+
"OrderingFilter",
32+
"RangeFilter",
33+
"TimeFilter",
34+
"TimeRangeFilter",
35+
"TypedChoiceFilter",
36+
"TypedMultipleChoiceFilter",
37+
"UUIDFilter",
38+
]
Lines changed: 64 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,70 @@
11
from typing import Any
22

3-
from django_filters import filters
3+
from django_filters import (
4+
AllValuesFilter,
5+
AllValuesMultipleFilter,
6+
BaseCSVFilter,
7+
BaseInFilter,
8+
BaseRangeFilter,
9+
CharFilter,
10+
ChoiceFilter,
11+
DateFilter,
12+
DateFromToRangeFilter,
13+
DateRangeFilter,
14+
DateTimeFilter,
15+
DateTimeFromToRangeFilter,
16+
DurationFilter,
17+
Filter,
18+
IsoDateTimeFilter,
19+
IsoDateTimeFromToRangeFilter,
20+
LookupChoiceFilter,
21+
ModelChoiceFilter,
22+
ModelMultipleChoiceFilter,
23+
MultipleChoiceFilter,
24+
NumberFilter,
25+
NumericRangeFilter,
26+
OrderingFilter,
27+
RangeFilter,
28+
TimeFilter,
29+
TimeRangeFilter,
30+
TypedChoiceFilter,
31+
TypedMultipleChoiceFilter,
32+
UUIDFilter,
33+
filters,
34+
)
435

536
class BooleanFilter(filters.BooleanFilter):
637
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
738

8-
# Names in __all__ with no definition:
9-
# AllValuesFilter
10-
# AllValuesMultipleFilter
11-
# BaseCSVFilter
12-
# BaseInFilter
13-
# BaseRangeFilter
14-
# CharFilter
15-
# ChoiceFilter
16-
# DateFilter
17-
# DateFromToRangeFilter
18-
# DateRangeFilter
19-
# DateTimeFilter
20-
# DateTimeFromToRangeFilter
21-
# DurationFilter
22-
# Filter
23-
# IsoDateTimeFilter
24-
# IsoDateTimeFromToRangeFilter
25-
# LookupChoiceFilter
26-
# ModelChoiceFilter
27-
# ModelMultipleChoiceFilter
28-
# MultipleChoiceFilter
29-
# NumberFilter
30-
# NumericRangeFilter
31-
# OrderingFilter
32-
# RangeFilter
33-
# TimeFilter
34-
# TimeRangeFilter
35-
# TypedChoiceFilter
36-
# TypedMultipleChoiceFilter
37-
# UUIDFilter
39+
__all__ = [
40+
"BooleanFilter",
41+
"AllValuesFilter",
42+
"AllValuesMultipleFilter",
43+
"BaseCSVFilter",
44+
"BaseInFilter",
45+
"BaseRangeFilter",
46+
"CharFilter",
47+
"ChoiceFilter",
48+
"DateFilter",
49+
"DateFromToRangeFilter",
50+
"DateRangeFilter",
51+
"DateTimeFilter",
52+
"DateTimeFromToRangeFilter",
53+
"DurationFilter",
54+
"Filter",
55+
"IsoDateTimeFilter",
56+
"IsoDateTimeFromToRangeFilter",
57+
"LookupChoiceFilter",
58+
"ModelChoiceFilter",
59+
"ModelMultipleChoiceFilter",
60+
"MultipleChoiceFilter",
61+
"NumberFilter",
62+
"NumericRangeFilter",
63+
"OrderingFilter",
64+
"RangeFilter",
65+
"TimeFilter",
66+
"TimeRangeFilter",
67+
"TypedChoiceFilter",
68+
"TypedMultipleChoiceFilter",
69+
"UUIDFilter",
70+
]

tests/test_rest_framework.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
- case: rest_framework
2+
main: |
3+
from django_filters import rest_framework as filters
4+
5+
class TestFilter(filters.FilterSet):
6+
special_date = filters.DateFilter() # Mypy: Module has no attribute "DateFilter" [attr-defined]

0 commit comments

Comments
 (0)