在模型序列化器中验证后,其他字段会丢失。 Django Rest Framework

时间:2018-01-16 10:39:59

标签: python django django-rest-framework

我希望能够在ReporterViewset的perform_create方法中获取文件名列表。但是我不能这样做,因为我无法从ReportSerializer的validated_data访问文件。我想从Report serializer中获取文件名作为附加和验证的数据。

这是我的报告序列化程序

class ReportSerializer(serializers.ModelSerializer):
    files = serializers.ListField(read_only=True, child=serializers.CharField())

    class Meta:
        model = api_models.Report
        fields = ("id", "reporter", "timestamp", "files",
                  "description")

这是ReportViewset

class ReportViewset(viewsets.ModelViewSet):
    queryset = api_models.Report.objects.all()
    serializer_class = api_serializers.ReportSerializer

    def perform_create(self, serializer):
        file_names = serializer.validated_data.get('files', [])
        instance = serializer.save()

0 个答案:

没有答案