0
在我的項目中,我有一個應用程序與學校模型和學校指導模型。django用setattr更改圖像文件的位置
學校模型具有用於各種圖像領域,如標識,密封等:
seal_image = models.ImageField(upload_to="sealimgs", null=True, blank=True)
logo_image = models.ImageField(upload_to="logos", null=True, blank=True)
的schoolsuggestion模型具有用於相應的校場是什麼的字段,並且圖像場。
field_name = models.CharField(max_length=255, default="")
image_field = models.ImageField(upload_to='img', null=True, blank=True)
當學校的建議被批准,我改寫保存,這樣,它將通過GETATTR(FIELD_NAME)得到相關學校的現場,並與SETATTR(FIELD_NAME,image_field)(我簡化的語法設定,但你明白了)。
問題是,文件仍然保存在img中,大概是因爲我使用的是setattr而不是圖像字段特定的保存,它會將其上傳到正確的目錄。
那麼我該如何做到這一點?這很有道理,我可能會以某種方式獲得屬性的upload_to值,以某種方式使用該文件路徑重新保存圖像,然後在resaved圖像上使用setattr,但我無法弄清楚如何執行前兩項。
所以你的問題是如何通過一個實例來訪問模型字段,而不是實例字段的值,對不對? – okm 2012-04-26 17:14:08
如果是這樣,你的解決方案是好的。還可以使用'os.path.join'連接路徑。 – okm 2012-04-26 17:15:50