0

アップロードが完了した後、ファイルに対する操作をどのように処理しますか?

アップロード後すぐにリモートサーバーにアップロードされたファイルをコピーし、リモートサーバーから応答を取得してデータベースに入れる必要があります。

私は次のように ModelAdmin の save_model でそれをやろうとしました:

class MyAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        obj.answer = remote_upload(obj.file.path)
        obj.save()

remote_upload は自己記述関数です。直接実行すると、ファイルが正常にアップロードされます。しかし、save_model で失敗します。obj.file.path は MEDIA_PATH + ファイル名を返し、save_model の実行時にファイルが見つからないように見えます。

ファイルを正しい方法でコピーするにはどうすればよいですか?

ps。FileUploadHandler.upload_complete() があるようですが、使用できるかどうか (および使用方法) がわかりません。

4

2 に答える 2

1

したがって、ファイルを save_model に保存するには、その中で form.save() 関数を呼び出すだけです。このような:

class MyAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        form.save()
        obj.answer = remote_upload(obj.file.path)
        obj.save()

とても簡単です=)

于 2013-08-06T21:02:23.467 に答える