您可以执行以下操作:
serializers.py
class GeneralSerializer(serializers.ModelSerializer): class meta: model = None
views.py
class GeneralViewSet(viewsets.ModelViewSet): def get_queryset(self): model = self.kwargs.get('model') return model.objects.all() def get_serializer_class(self): GeneralSerializer.meta.model = self.kwargs.get('model') return GeneralSerializer在
serializers.py,我们定义
GeneralSerializer其
model在
meta作为
None。
model在调用时,我们将覆盖该值
get_serializer_class()。
然后在我们的
views.py文件中,定义一个
GeneralViewSetwith
get_queryset()并
get_serializer_class()覆盖。
在中
get_queryset(),我们获取
modelfrom的值
kwargs并返回该查询集。
在中
get_serializer_class(),我们将
modelfor
GeneralSerializer的值设置为从中获得的值
kwargs,然后返回
GeneralSerializer。



