Bom dia, Anderson! Tudo bem com você?
No código que você compartilhou, o diretório para o upload das fotos é definido como "fotos/%Y/%m/%d". Isso significa que as fotos serão armazenadas em um diretório chamado "fotos", seguido do ano, mês e dia em que foram enviadas.
Se você deseja que o diretório seja nomeado de acordo com o objeto criado, você pode usar o valor do atributo "nome" do objeto no momento do upload. Por 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]
# Define o caminho de upload como "fotos/nome_objeto.extensao"
return f"fotos/{nome_objeto}{extensao}"
class SuaModel(models.Model):
nome = models.CharField(max_length=100)
foto = models.ImageField(upload_to=get_upload_path, blank=True)
Dessa forma, o diretório para o upload das fotos será nomeado conforme o objeto criado. Por exemplo, se o objeto tiver o nome "foto1" e o arquivo for "imagem.jpg", o caminho de upload será "fotos/foto1.jpg".
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.