Estoy tratando de configurar mis cargas para que si el usuario joe carga un archivo va a MEDIA_ROOT/joe en lugar de tener todos los archivos a MEDIA_ROOT. El problema es que no sé cómo definir esto en el modelo. Así es como se ve actualmente:Django FileField con upload_to determinado en el tiempo de ejecución
class Content(models.Model):
name = models.CharField(max_length=200)
user = models.ForeignKey(User)
file = models.FileField(upload_to='.')
Lo que quiero es en lugar de '.' como upload_to, tiene que ser el nombre del usuario.
Entiendo que a partir de Django 1.0 puedes definir tu propia función para manejar el upload_to pero esa función tampoco tiene idea de quién será el usuario, así que estoy un poco perdido.
¡Gracias por la ayuda!
Sí, probablemente pertenece a documentos - es un FAQ bastante razonable en IRC – SmileyChris
¿Funciona esto con ModelForm? Puedo ver que la instancia tiene todos los atributos del modelo de clase, pero no hay valores (solo un str del nombre del campo). En la plantilla, el usuario está oculto. Puede que tenga que enviar una pregunta, he estado buscando en Google durante horas. – mgag
Sí, funciona, y sí, debe hacer una nueva pregunta (o pedir ayuda sobre #django irc) – SmileyChris