Foros del Web » Programando para Internet » Python »

Django duda

Estas en el tema de Django duda en el foro de Python en Foros del Web. Hola a todos, Miren tengo una duda, yo he hecho un modelo con un FileField, y una foreing key, (mas cosas pero eso es lo ...
  #1 (permalink)  
Antiguo 04/07/2011, 03:32
 
Fecha de Ingreso: junio-2010
Mensajes: 29
Antigüedad: 14 años, 6 meses
Puntos: 0
Pregunta Django duda

Hola a todos,

Miren tengo una duda, yo he hecho un modelo con un FileField, y una foreing key, (mas cosas pero eso es lo escencial para la duda).

Yo lo que quiero es que según el valor de la foreingKey, el archivo se guarde en un sitio o otro, supongo que he de sobreescrivir el metodo save, pero no lo tengo muy claro como hacerlo con ficheros entre medio.

Muchas gracias!
  #2 (permalink)  
Antiguo 05/07/2011, 00:13
 
Fecha de Ingreso: julio-2011
Mensajes: 3
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Django duda

class Modelo(models.Model):
micampo = ...

def save(self):
..... Aqui tratas el registro antes de ser guardado
return super(Modelo, self).save()
  #3 (permalink)  
Antiguo 05/07/2011, 15:47
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Django duda

En la documentación de Django podés ver que se puede asignar una función como "upload_to" en el campo FileField, quizás podrías usar esa función para asignar la ruta. La función recibirá un argumento "instance" que podés usar para obtener el valor de la foreign key, y por lo tanto el valor en donde el archivo debe guardarse.
https://docs.djangoproject.com/en/de...lds/#filefield

Saludos.
  #4 (permalink)  
Antiguo 06/07/2011, 04:51
 
Fecha de Ingreso: junio-2010
Mensajes: 29
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Django duda

Gracias alvaro,

justo ahora iva a postear lo que me acabas de comentar, ayer lo vi, y hoy pensaba explicar la solucion que encontre.

Saludos

Etiquetas: django
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:59.