1- from rest_framework .viewsets import ReadOnlyModelViewSet
1+ from rest_framework .response import Response
2+ from rest_framework .viewsets import GenericViewSet , ReadOnlyModelViewSet
23
34from drf_excel .mixins import XLSXFileMixin
45from drf_excel .renderers import XLSXRenderer
56
67from .models import AllFieldsModel , ExampleModel , SecretFieldModel
7- from .serializers import AllFieldsSerializer , ExampleSerializer , SecretFieldSerializer
8+ from .serializers import (
9+ AllFieldsSerializer ,
10+ DynamicFieldSerializer ,
11+ ExampleSerializer ,
12+ SecretFieldSerializer ,
13+ )
814
915
1016class ExampleViewSet (XLSXFileMixin , ReadOnlyModelViewSet ):
@@ -26,3 +32,22 @@ class SecretFieldViewSet(XLSXFileMixin, ReadOnlyModelViewSet):
2632 serializer_class = SecretFieldSerializer
2733 renderer_classes = (XLSXRenderer ,)
2834 filename = "secret.xlsx"
35+
36+
37+ class DynamicFieldViewSet (XLSXFileMixin , GenericViewSet ):
38+ serializer_class = DynamicFieldSerializer
39+ renderer_classes = (XLSXRenderer ,)
40+ filename = "dynamic_field.xlsx"
41+
42+ def list (self , request , * args , ** kwargs ):
43+ serializer = self .get_serializer (
44+ data = {
45+ "field_1" : "YUL" ,
46+ "field_2" : "CDG" ,
47+ "field_55" : "LHR" ,
48+ "field_98" : "MAR" ,
49+ "field_99" : "YYZ" ,
50+ }
51+ )
52+ serializer .is_valid (raise_exception = True )
53+ return Response (serializer .data )
0 commit comments