2009-09-10 64 views
0

我希望在模型中有2個ImageField。Django ImageField覆蓋文件碰撞代碼

  1. 作爲一個地方的用戶上傳的圖像
  2. 是一個我們有一個形象的副本,但使用相同的文件。

注:我簡化了兩個字段的原因。

除了創建一個新的ImageField字段類型有什麼辦法來停止ImageField添加_到文件名,當我們以編程方式分配第二個字段?

問候

馬克

回答

0

有沒有你不使用的FileField第二入門的好理由嗎?這聽起來不像你正在使用圖像字段的細節(也就是說,管理員驗證它是上傳的圖像)。如果你需要它在你的代碼中出於某種原因是一個圖像字段,你可以投它...

我假設你已經有第二個字段設置爲隱藏在管理界面?

+0

感謝保羅,我隱藏了管理界面中的第二個字段。就我所知,FileField仍然會執行文件名衝突。我需要保持它們相同,但是在API中使用第二個字段的外部團隊的字段類型。 我會研究其他選項,再次感謝您的意見! – 2009-09-11 08:25:59

0

我知道你「從創建一個新的ImageField類型分開」之說,但我會想象,要做到這一點的最好的辦法是能夠做到這一點,和FileFieldoverride the get_filename method(這顯然ImageField子類)。

除此之外,也可以創建自己的Storagedjango.core.files.storage)的子類,你會通過爲storage參數爲ImageField在你的模式。您需要覆蓋那裏的get_valid_name method。需要注意的是,實際的下劃線來自get_valid_filename method in django.utils.text

儘管如此,爲了提供必要的功能,我確實沒有想到子類化ImageField有什麼問題。

+0

感謝您的回覆!基本上我正在查看是否有配置/參數更改可以幫助 – 2009-10-21 10:50:00