/path/{self.id}.jpgとして保存する必要がある画像をアップロードできるようにするには、djangoの管理者が必要です
これまでのところ、id、status、title フィールドを持つデータベースと、id、status、title、THUMB フィールドを持つモデルがあります。
class MEL(models.Model):
id = models.AutoField(primary_key=True, editable=False)
status = models.IntegerField(choices=( (0, 'inactive'), (1, 'active') ), default=1)
title = models.TextField(verbose_name='Título')
thumb = models.ImageField(upload_to=upload_path)
class Meta:
db_table = u'MEL'
問題は、画像が保存されるモデルに以前にアップロードされているため、現時点では「self.id」に保存できません。/tmp/{uuid} に保存して、保存後に名前を変更できると思います。おそらく次のようになります。
def upload_path(self, filename):
self.file_uuid = uuid.uuid4()
return '/tmp/' + self.file_uuid
次に、名前を変更して /tmp/ から削除するポストセーブ
または、このモデルの save() メソッドをオーバーライドして、最初に super().save() を呼び出してから、(ImageFieldFile オブジェクトにある) 画像のアップロードを処理して、名前を self.id に変更することもできます。
提案?
ありがとう