我無法讓我的FileField
的url設置爲我想要的。upload_to屬性似乎沒有在保存FileField時使用
我的模型是由
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)