使用mongoengine和models.ImageField

时间:2011-10-17 23:35:51

标签: django amazon-s3 mongoengine

我无法使用django / mongoengine应用程序django-athumb。我正在尝试保存不同大小的图像并将它们存储在S3上,这正是当与django股票安装一起使用时所做的事情。但是,使用mongoengine,在对象的字段上调用save()会导致“'ImageWithThumbsField'对象没有属性'save'”消息。

在处理文件上传的视图函数内部(其中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)

我能够访问保存方法,但它是hackish并且可能会导致更多问题然后解决。我的问题:既然 ImageWithThumbsField 子类 models.ImageField ,使用 models.ImageField 和mongoengine一起是不可能的(或者至少是不切实际的)?

1 个答案:

答案 0 :(得分:1)

我知道这个问题已经过时了,但似乎当时没有对ImageField in mongoengine - this was added in version 0.6.的支持

如果您仍然遇到mongoengine问题,请尝试升级到大于0.6的版本..他们甚至投入了生成缩略图的能力