Как я могу рефакторить это, чтобы удалить 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.