Skip to content

Commit caa9bfe

Browse files
author
Ryan P Kilby
committed
Update docs with RelatedFilter.queryset args
1 parent bb1f58f commit caa9bfe

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

README.rst

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -113,15 +113,15 @@ You can easily traverse multiple relationships when filtering by using ``Related
113113
114114
115115
class DepartmentFilter(filters.FilterSet):
116-
manager = filters.RelatedFilter(ManagerFilter, name='manager')
116+
manager = filters.RelatedFilter(ManagerFilter, name='manager', queryset=Manager.objects.all())
117117
118118
class Meta:
119119
model = Department
120120
fields = {'name': ['exact', 'in', 'startswith']}
121121
122122
123123
class CompanyFilter(filters.FilterSet):
124-
department = filters.RelatedFilter(DepartmentFilter, name='department')
124+
department = filters.RelatedFilter(DepartmentFilter, name='department', queryset=Department.objects.all())
125125
126126
class Meta:
127127
model = Company
@@ -146,7 +146,7 @@ Recursive relations are also supported. It may be necessary to specify the full
146146
147147
class PersonFilter(filters.FilterSet):
148148
name = filters.AllLookupsFilter(name='name')
149-
best_friend = filters.RelatedFilter('people.views.PersonFilter', name='best_friend')
149+
best_friend = filters.RelatedFilter('people.views.PersonFilter', name='best_friend', queryset=Person.objects.all())
150150
151151
class Meta:
152152
model = Person
@@ -185,7 +185,7 @@ to all filter classes. It incorporates some of the implementation details of the
185185
return qs.filter(**{lookup_expr: isnull})
186186
187187
class AuthorFilter(filters.FilterSet):
188-
posts = filters.RelatedFilter('PostFilter')
188+
posts = filters.RelatedFilter('PostFilter', queryset=Post.objects.all())
189189
190190
class Meta:
191191
model = Author
@@ -285,15 +285,15 @@ You cannot combine ``AllLookupsFilter`` with ``RelatedFilter`` as the filter nam
285285
.. code-block:: python
286286
287287
class ProductFilter(filters.FilterSet):
288-
manufacturer = filters.RelatedFilter('ManufacturerFilter')
288+
manufacturer = filters.RelatedFilter('ManufacturerFilter', queryset=Manufacturer.objects.all())
289289
manufacturer = filters.AllLookupsFilter()
290290
291291
To work around this, you have the following options:
292292
293293
.. code-block:: python
294294
295295
class ProductFilter(filters.FilterSet):
296-
manufacturer = filters.RelatedFilter('ManufacturerFilter')
296+
manufacturer = filters.RelatedFilter('ManufacturerFilter', queryset=Manufacturer.objects.all())
297297
298298
class Meta:
299299
model = Product
@@ -304,7 +304,7 @@ To work around this, you have the following options:
304304
# or
305305
306306
class ProductFilter(filters.FilterSet):
307-
manufacturer = filters.RelatedFilter('ManufacturerFilter', lookups='__all__') # `lookups` also accepts a list
307+
manufacturer = filters.RelatedFilter('ManufacturerFilter', queryset=Manufacturer.objects.all(), lookups='__all__') # `lookups` also accepts a list
308308
309309
class Meta:
310310
model = Product
@@ -326,15 +326,15 @@ and ``FilterSet``s from either package are compatible with the other's DRF backe
326326
...
327327
328328
class DRFFilter(rest_framework_filters.FilterSet):
329-
vanilla = rest_framework_filters.RelatedFilter(filterset=VanillaFilter)
329+
vanilla = rest_framework_filters.RelatedFilter(filterset=VanillaFilter, queryset=...)
330330
331331
332332
# invalid
333333
class DRFFilter(rest_framework_filters.FilterSet):
334334
...
335335
336336
class VanillaFilter(django_filters.FilterSet):
337-
drf = rest_framework_filters.RelatedFilter(filterset=DRFFilter)
337+
drf = rest_framework_filters.RelatedFilter(filterset=DRFFilter, queryset=...)
338338
339339
340340
Caveats & Limitations

0 commit comments

Comments
 (0)