2011-09-27 95 views
0

我使用stdimage自動調整我的圖片,我有這樣的事情:傳遞參數給ForeignKey的

class Image(models.Model): 
    image = stdimage.StdImageField(upload_to="images/uploads/", size=(width, height)) 


class Nevermind(models.Model): 
    w, h = 300, 150 
    image = models.ForeignKey(Image) 

class Nevermind2(models.Model): 
    w, h = 100, 100 
    image = models.ForeignKey(Image) 

所以我想通過寬度和heigth作爲參數傳遞給Image類。

感謝

回答

0

我不知道你的目標是什麼,但你可以嘗試使用model methods定義與模型額外paramenters。

#model 
class Nevermind2(models.Model): 
    image = models.ForeignKey(image) 

    def size(self): 
     w,h = 100,100 
     return w, h 

#example use 
>>> a = Nevermind2.objects.get(pk=1) 
>>> a.size() 
(100,100) 
>>> w,h = a.size() 
>>> w 
100 
>>> h 
100 
+0

感謝,但其實我要的是這樣的事情: 圖像= models.ForeignKey(圖像,大小=(100,100)),並獲得圖像類 – ark42

+0

大小參數是你想存儲的縮略圖大小全尺寸圖像的?如果是這樣,請嘗試在原始模型中使用不同大小定義的3個不同圖像域,並將表單中的第2個和第3個域放在一起,並且在處理表單時,在調用保存之前將原始圖像提交到第2個和第3個域。 –

+0

hmm不,我想例如Nevermind類通過foreignKey字段發送(182,80)Image類,而Nevermind2類以相同的方式發送(640,480)。對於在Image類 – ark42