djangorestframework-queryfields
raw JSON → 1.1.0 verified Fri May 01 auth: no python
A Django REST Framework extension that allows API consumers to request a subset of fields via query parameters (e.g., ?fields=id,name). Current version: 1.1.0. Maintenance cadence: low, with one release since its initial launch.
pip install djangorestframework-queryfields Common errors
error ModuleNotFoundError: No module named 'djangorestframework_queryfields' ↓
cause Incorrect module name used in import.
fix
Use 'from drf_queryfields import QueryFieldsSerializerMixin'.
error AttributeError: 'MySerializer' object has no attribute 'fields_filtered' ↓
cause Serializer does not include QueryFieldsSerializerMixin as the first base class.
fix
Change class MySerializer(serializers.ModelSerializer) to class MySerializer(QueryFieldsSerializerMixin, serializers.ModelSerializer).
Warnings
gotcha The mixin must be placed leftmost in the inheritance chain before the DRF serializer class. Otherwise, the field filtering will not work. ↓
fix Always ensure QueryFieldsSerializerMixin is the first base class: class MySerializer(QueryFieldsSerializerMixin, serializers.ModelSerializer):
gotcha The package module name is 'drf_queryfields', not 'djangorestframework_queryfields' or 'rest_framework_queryfields'. Common import mistakes lead to ModuleNotFoundError. ↓
fix Use 'from drf_queryfields import QueryFieldsSerializerMixin'.
Imports
- QueryFieldsSerializerMixin wrong
from rest_framework_queryfields import ...correctfrom drf_queryfields import QueryFieldsSerializerMixin
Quickstart
from drf_queryfields import QueryFieldsSerializerMixin
from rest_framework import serializers
class MySerializer(QueryFieldsSerializerMixin, serializers.ModelSerializer):
class Meta:
model = MyModel
fields = '__all__'
# View
from rest_framework import generics
class MyListView(generics.ListAPIView):
serializer_class = MySerializer
queryset = MyModel.objects.all()
# GET /api/my-model/?fields=id,name