我无法将我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
对象而不是 a,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)