2009-11-04 107 views
1

我有一個模型,看起來像這樣:Django管理在線FORMSET覆蓋保存

class ProjectImage(models.Model): 
    big_thumb = ThumbnailField(upload_to='profiles', size=(500, 500)) 
    med_thumb = ThumbnailField(upload_to='profiles', size=(300, 300)) 
    small_thumb = ThumbnailField(upload_to='profiles', size=(100, 100)) 

我有一個項目作爲TabularInline關聯ProjectImage。在管理員中,我希望能夠說出是否未提供中等縮略圖和/或小縮略圖,請使用與縮略圖相同的圖像。不過,我很難弄清楚如何指定這種行爲。

回答

1

你必須在這種情況下兩個選擇,你可以在騎ProjectImage的保存確定指標並將其複製到big_thumbmed_thumb如果small_thumb他們沒有,或者只是創建一個簡單的模型定義,以顯示每個字段。

def get_med_thumb_url(self): 
    if self.med_thumb is None: 
     return self.big_thumb.url 

    return self.med_thumb.url 

,做同樣爲small_thumb,讓你從與保存方法坐立不安,並具有複製的東西過來,浪費空間。

我不記得ImageField是否有get_FOO_url類型的定義,但如果它確實如此,你總是可以忽略它。

+0

即使它是內嵌表單,我仍然可以重寫ProjectImage的保存方法嗎? – btoconnor 2009-11-04 13:55:38

+0

我不明白爲什麼不。它仍然需要保存。 :) – Bartek 2009-11-04 13:59:17