使用 django-filebrowser 和FileBrowserField
我正在尝试directory
根据模型本身中的键分配参数。因此,使用博客示例,如果我为不同的帖子保存照片,照片将位于以博客 ID 命名的目录中。因此,如果MEDIA_ROOT
我/some/path/to/media/filebrowser_files/
希望动态分配directory
参数为MEDIA_ROOT+str(model_pk)
在这一点上,我试图做类似以下的事情,但不明白如何获取当前对象的 id。(DoesNotExist 异常,“未提供异常”)我知道尝试使用 self.page 时存在错误,但我不知道如何正确执行此操作。有人可以提供一些关于我的逻辑存在缺陷的地方以及我能做些什么来解决它吗?非常感谢。
class PageImage(models.Model):
page = models.ForeignKey(Page)
page_photo = FileBrowseField("Image", max_length=200, blank=True, null=True)
def __init__(self, *args, **kwargs):
super(PageImage, self).__init__(*args, **kwargs)
path = settings.MEDIA_ROOT+'pages/unfiled/'
if self.page:
path = settings.MEDIA_ROOT+'pages/'+str(self.page)+'/'
if not os.path.exists(path):
os.makedirs(path)
self._meta.get_field_by_name("page_photo")[0].directory = path