サーバーにファイルをアップロードできるページがあります。
Celeryのファイルで何かをしたい。そのため、モデルのアップロードされたFileFiledの絶対ファイルパスを知る必要があります。
モデルに問い合わせてインスタンスを取得したとしましょう。次に、ファイルパスを含む絶対ファイルパスを取得する必要があります。
obj = Audio.objects.get(pk=1)
現在obj.filename
を試していますが、絶対パスではなくファイル名のみを印刷しています。
入力したアップロードパスをupload_to
とメディアディレクトリに取得できることは知っていますが、もっとDRYと自動アプローチがあるかどうか疑問に思っていました。
file
にファイルされているobj
のabsolute path
を取得するにはどうすればよいですか?
答えを見つけました。
私は.path
上のFileField
私が行った場合
obj.audio_file.path
obj
は、問い合わせたモデルインスタンスであり、audio_file
はファイルフィールドです