Django - можем ли мы объединить два валидатора в одном методе
Я хочу использовать только один метод для проверки расширения файла и его размера. возможно ли это с помощью нескольких if
?```def validate_file_extension(value):
ext = os.path.splitext(value.name)[1]
valid_extensions = ['.tar.gz', '.tgz', '.tar', '.gz', 'tar.xz', '.zip']
if not ext in valid_extensions:
raise ValidationError(u'File not supported, Please upload only .tar.gz /
.tgz / .zip')```
и
filesize= value.size
if filesize > 10485760:
raise ValidationError("The maximum file size that can be uploaded is 10MB")
else:
return value
Вы можете разделить каждый валидатор {по принципу беспокойства}, используя отдельный пользовательский метод.
def validate_file_mime():
def validate_file_size():
class ObjectModel():
file = models.FileField(validators[validate_file_mime,validate_file_size])
Проверил и это работает!!! любезно upvote...