我有一个序列化程序,它可以作为其他ModelSerializers的模板。
class CountryBasedModelSerializer(ModelSerializer):
def __init__(self, data, context):
assert 'country' in self.Meta.fields
class Meta:
model = Country
fields = ()我想将它与this一起使用,这是将要调用的实际序列化程序。
class CountryBasedProjectSerializer(CountryBasedModelSerializer):
class Meta:
model = Project
fields = ('id', 'country', 'name')我想将它与这个继承的视图集一起使用:
class CountryBasedViewset(viewsets.ModelViewSet):
queryset = None
serializer_class = CountryBasedModelSerializer
def get_queryset(self):
return self.queryset.filter(country_pk=self.request.data["country"])这是将被调用的实际视图集:
class CountryProjectBasedViewset(CountryBasedViewset):
queryset = Project.objects.all()有没有什么地方明显是我做错了?
发布于 2020-09-24 03:26:02
只需定义CounteryProjectBasedViewSet的serializer_class,如下所示
class CountryProjectBasedViewset(CountryBasedViewset):
queryset = Project.objects.all()
serializer_class = CountryBasedProjectSerializerhttps://stackoverflow.com/questions/64034705
复制相似问题