FileField
の URL を希望どおりに設定できません。
私のモデルはによって定義されています
class MyModel(models.Model):
pdf_file = models.FileField(upload_to="reports", null=True, blank=True)
# more stuff
そして、次を使用してインスタンスを作成します。
myModel = MyModel()
myModel.pdf_file = "some_file.pdf"
myModel.save()
myModel.pdf_file.url
を返しますが、属性のために である<MEDIA_URL>/some_file.pdf
と予想されます。<MEDIA_URL>/reports/some_file.pdf
upload_to
私は何が欠けていますか?
編集
File
最初に の代わりにオブジェクトを設定しようとしましたが、 が追加されstring
たファイルが複製_<duplication_num>
されるため、最初に tmp フォルダーにファイルを作成して削除します。
myModel.pdf_file = File(open(TMP_FILE_PATH + filename))
myModel.save()
# now that the file is saved to its final location, delete tmp
filepath = os.path.abspath(TMP_FILE_PATH + filename)
os.remove(filepath)