如何根据其foreignKey的标题设置django /夹层模型的字段值?

时间:2014-10-20 21:56:52

标签: python django mezzanine

我想基于我的夹层应用程序中特定帖子的标题,配置django-filebrowser的夹层分叉,以便在上传图像时创建子文件夹。

该模型的文件字段需要设置" upload_to =",但我不明白如何使其指向其parent / foreignKey实例的字段值,而不仅仅是静态值。我已经尝试定义一个指向exhibPost.title的callable,以及直接在字段中使用它,如下所示。

我很想听到解释,我确定我在这里误解了django的一些重要内容......谢谢

models.py - (imports omitted)
    class exhibPost(Displayable, RichText,):
        """
        An exhib post.
        """
        def __unicode__(self):
            return u'%s' % (self.id)

        showstart = models.DateField("Show Starts")
        showend = models.DateField("Show Ends")
        start_time = models.TimeField(null=True, blank=True)
        end_time = models.TimeField(null=True, blank=True)
        summary = models.CharField(max_length=200,null=True,default=get_val)

        class Meta:
            verbose_name = _("exhib post")
            verbose_name_plural = _("exhib posts")
            ordering = ("-publish_date",)

    class exhibImage(Orderable):
        '''
        An image for an exhib
        '''
        exhibPostKey = models.ForeignKey(exhibPost, related_name="images")


        file = FileField(_("File"), max_length=200, format="Image",
            upload_to=upload_to(
                "theme.exhibImage.file",
---->            exhibPost.title
            )
        )



        class Meta:
            verbose_name = _("Image")
            verbose_name_plural = _("Images")

修改

@Anzel

我所指的功能在我的模型中被定义为

def get_upload_path(instance, filename):
    return os.path.join(
      "user_%d" % instance.owner.id, "car_%s" % instance.slug, filename)

......我把它叫做我原先想到的地方。

0 个答案:

没有答案