4

django/mongoengineアプリでdjango-athumbを使用するのに問題があります。さまざまなサイズの画像を保存してS3に保存しようとしています。これは、ストックの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)

saveメソッドにアクセスすることはできますが、それはハックであり、解決するよりも多くの問題を引き起こす可能性があります。私の質問:ImageWithThumbsFieldはmodels.ImageFieldをサブクラス化するので、 mongoengineでmodels.ImageFieldを使用することは不可能(または少なくとも非現実的)ですか?

4

1 に答える 1