Использование полей DRF FlexFields в дополнительных действиях

Я хочу использовать flexfields в viewset extra action

serializers.py

class FarmSerializer(FlexFieldsModelSerializer):
    class Meta:
        model = Farm
        fields = [
            'id',
            ...
            'varieties',
            'conditions',
            'created_at',
            'updated_at',
            'created_by'
        ]
        expandable_fields = {
            'varieties': ('labels.serializers.VarietySerializer', {'many': True}),
            'conditions': ('labels.serializers.ConditionSerializer', {'many': True}),
        }

views.py

class GrowerViewSet(BaseViewSet):
    ...
    serializer_class = GrowerSerializer

    @action(detail=True, methods=['GET'])
    def farms(self, request, pk=None):
        ...
        serializer = FarmSerializer(queryset, many=True)
        return Response(serializer.data)

Затем, когда я запрашиваю http://localhost:5000/api/labels/grower/3/farms/?expand=varieties,conditions flexfield expand params не работает:

enter image description here

Необходимо добавить контекст запроса в Serializer

@action(detail=True, methods=['GET'])
    def farms(self, request, pk=None):
        queryset = Farm.objects.filter(grower_id=pk)
        serializer = FarmSerializer(queryset, many=True, context={"request": request})
        return Response(serializer.data)
Вернуться на верх