将参数传递给ForeignKey类

时间:2011-09-27 17:58:45

标签: python django django-models

我正在使用stdimage来自动调整图片大小,我有类似的东西:

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)

所以我想将width和heigth作为Image类的参数传递。

由于

1 个答案:

答案 0 :(得分:0)

我不确定您的目标是什么,但您可以尝试使用model methods为模型定义额外的参数。

#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