Infelizmente, o Django não permite que você utilize o nome do objeto diretamente nesse caso.
No entanto, você pode utilizar uma função para personalizar o caminho do upload. Por exemplo, você pode criar uma função chamada get_upload_path
que recebe o objeto e o nome do arquivo e retorna o caminho desejado. Veja um exemplo:
import os
def get_upload_path(instance, filename):
# Obtém o nome do objeto
nome_objeto = instance.nome
# Obtém a extensão do arquivo
extensao = os.path.splitext(filename)[1]
# Monta o caminho completo
caminho = f"fotos/{nome_objeto}/{filename}{extensao}"
return caminho
class SeuModel(models.Model):
nome = models.CharField(max_length=100)
foto = models.ImageField(upload_to=get_upload_path, blank=True)
Dessa forma, o caminho do upload será personalizado com o nome do objeto. Por exemplo, se o objeto tiver o nome "objeto1" e o arquivo for "foto.jpg", o caminho do upload será "fotos/objeto1/foto.jpg".