Как я могу рефакторить это, чтобы удалить DRY

У меня здесь реализованы два сериализатора с одинаковыми методами, которые предназначены для проверки файлов 1 и 2, как я могу рефакторить свой код так, чтобы позаботиться о DRY

serializers.py

class FilecreateSerializer(serializers.ModelSerializer):
    class Meta:
        model = MyModel
        fields = (
            'file',
           
        )

    def create(self, data):
        user = self.context['request'].user
        if not user.is_anonymous:
            validated_data.update({'uploaded_by': user.person})
        return super().create(data)

    def file_checking(self, file):
        ca = pd.read_excel(file, dtype=str)
        if not something():
            raise ValidationError()
        return file


class FileUpdateSerializer(serializers.ModelSerializer):
    class Meta:
        model = Mymodel
        fields = ('file_2',)

    def file_2_checking(self, file):
        ca = pd.read_excel(file, dtype=str)
        if not something():
            raise ValidationError()
        return file

Создайте отдельный класс mixin с общей функцией и наследуйте в обоих serializer.

Вернуться на верх