我想基于我的夹层应用程序中特定帖子的标题,配置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)
......我把它叫做我原先想到的地方。