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を使用することは不可能(または少なくとも非現実的)ですか?