2010-09-07 88 views
0

路徑我想自定義,是用於保存我的圖片的記錄文件夾......目前,我有:自定義保存的ImageField

original_image = models.ImageField(upload_to='photos') 

但我想有被保存的圖像到photos/<vehicle's_stock_number>/ ...如何將股票編號添加到上傳路徑的末尾?

回答

1

每的文檔FileField.upload_to

這也可以是一個可調用的,例如一個函數,其將被稱爲以獲得上載路徑,包括文件名。該可調用函數必須能夠接受兩個參數,並返回一個Unix風格的路徑(帶有正斜槓)以傳遞給存儲系統。將通過的兩個參數是:

instance:定義FileField的模型實例。更具體地說,這是當前文件被附加的特定實例。在大多數情況下,這個對象還沒有被保存到數據庫中,所以如果它使用默認的AutoField,它可能還沒有其主鍵字段的值。

filename:最初賦予文件的文件名。在確定最終目的地路徑時,這可能會也可能不會被考慮在內。

所以,如果你已經有了具有stock_number屬性的模型,你可以使用這樣的事情:

def get_path(instance, filename): 
    return 'photos/%s/%s' % (instance.stock_number, filename) 
+0

我剛剛得到來自另一個鏈接類似的解決方案...感謝多米尼克 – Stephen 2010-09-07 13:58:58