Open dizjis opened 6 years ago
Привет. К сожалению у меня сейчас нет времени разбираться с ошибкой. Будет круто, если вы найдете проблему и пришлете пул реквест =)
Где ошибка то я нашел, и даже вроде починил костылем. Проблема в том, что метод save
класса Storage
объявлен как def save(self, name, content, max_length=None)
, а в django-proxy-storage он переопределен в def save(self, name, content, original_storage_path=None):
В итоге, джанговский класс FieldFile(File)
в своем методе save
дергает self.storage.save(name, content, max_length=self.field.max_length)
, где вызывает метод класса из django-proxy-storage, который ничего про max_length не знает. Локально я починил, добавив метод save с объявлением нужных параметров:
@deconstructible
class FileSystemProxyStorage(ProxyStorageBase):
meta_backend = meta_backend
original_storage = FileSystemStorage(location=PROXY_STORAGE_DIR)
def save(self, name, content, original_storage_path=None, max_length=None):
return super().save(name, content, original_storage_path)
Но я понятия не имею, насколько это корректно и не сломается ли что-нибудь в дальнейшем из-за отсутствия max_length
Здравствуйте.
Попытался использовать в связке с вышеозначенной версией django. Использовал ORMMetaBackend, основываясь на примере Authorization
Мне пришлось добавить декоратор @deconstructible иначе проект вообще не запускался (в примере Authorization этого декоратора нет) Поле в модели:
При сохранении модели вылазит ошибка следующего содержания: