カスタム FileSystemStorage があります。
アイデアは、オプションのファイル名パラメーターを渡すことです。
私のカスタムストレージコード:
class SalesMapFileStores(FileSystemStorage):
def __init__(self, location=None, base_url=None, filename=None):
if filename:
self.filename = filename
super(SalesMapFileStores, self).__init__(location=location, base_url=base_url)
def get_available_name(self, name):
return name
def get_valid_name(self, name):
if self.filename:
return self.filename
return name
def _save(self, name, content):
if self.exists(name):
self.delete(name)
return super(SalesMapFileStores, self)._save(name, conten
モデルからこのファイル名パラメーターを渡したいのです。
このようなもの:
class SalesMapImage(models.Model):
name = models.CharField(max_length=254, verbose_name='Filename')
image = SalesMapImageField(upload_to='SalesMap/Test', storage=SalesMapFileStores(filename=name), verbose_name='Test Image',
content_types=('image/jpeg', 'image/png'))
しかし、この場合、Django は model.CharField 自体をパラメーターとして渡します (明らかです :))。
問題は、ストレージからモデル インスタンスにアクセスするにはどうすればよいかということです。
前もって感謝します!