используя mongoengine с моделями. ImageField - PullRequest
4 голосов
/ 18 октября 2011

У меня проблемы с получением приложения django / mongoengine для использования django-athumb .Я пытаюсь сохранить изображения разных размеров и сохранить их на S3, что в точности делает athumbs при использовании со стандартной установкой django.Однако при использовании mongoengine вызов метода save () для поля объекта приводит к тому, что объект " 'ImageWithThumbsField' не имеет атрибута 'save' ".

внутри функции views, которая имеет дело сзагрузка файла (где doc.image - ImageWithThumbsField ):

if request.FILES.get('image'):
    file = request.FILES['image']
    fdat = file.read()
    file_contents = ContentFile(fdat)
    doc.image.save(file.name, file_contents)

, приведенное выше приводит к вышеупомянутой ошибке.

, если я вместо этого вызову:

doc.image.attr_class(file_contents, doc.image, file.name).save(file.name, file_contents)

Я могу получить доступ к методу сохранения, но он хакерский и может вызвать больше проблем, чем решить.Мой вопрос: поскольку ImageWithThumbsField подклассы models.ImageField , невозможно (или, по крайней мере, непрактично) использовать models.ImageField с mongoengine?

1 Ответ

1 голос
/ 18 февраля 2013

Я знаю, что этот вопрос старый, но кажется, что в то время не было поддержки ImageField в mongoengine - это было добавлено в версии 0.6.

Если у вас все еще есть проблема с mongoengine, пожалуйста, попробуйте обновить до версии больше 0,6 .. они даже добавили возможность генерировать миниатюру

...