Foros del Web » Programando para Internet » Python »

Validacion al guardar datos.

Estas en el tema de Validacion al guardar datos. en el foro de Python en Foros del Web. Buenas, estoy modificando el metodo save de un modelo (admin.ModelAdmin) porque quiero que un atributo booleano sea igual a 1 cuando exista una imagen asociada ...
  #1 (permalink)  
Antiguo 19/10/2012, 14:45
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años, 1 mes
Puntos: 4
Validacion al guardar datos.

Buenas, estoy modificando el metodo save de un modelo (admin.ModelAdmin) porque quiero que un atributo booleano sea igual a 1 cuando exista una imagen asociada al modelo:

Cita:
def save_model(self, request, obj, form, change):
# custom stuff here
img = Imagen.objects.filter(contenido=obj.id)
print img
if (img != None):
obj.tiene_imagen = 1
else:
obj.tiene_imagen = 0

obj.save()
Esto no me funciona, por alguna razon (seguramente sintaxis) sin importar si existe o no una imagen asociada siempre obtengo un 1(true), como tengo que hacerlo ? gracias !
  #2 (permalink)  
Antiguo 19/10/2012, 14:55
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Validacion al guardar datos.

Es por que filter siempre regresa un QuerySet encuentre algo o no.

Si quieres checar si algo existe o no usa exists.

Código Python:
Ver original
  1. def save_model(self, request, obj, form, change):
  2.     # custom stuff here
  3.     obj.tiene_imagen = Imagen.objects.filter(contenido=obj.id).exists()
  4.     obj.save()
  #3 (permalink)  
Antiguo 19/10/2012, 15:16
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Validacion al guardar datos.

Buenisimo, gracias razpeitia !

Ahora lo que estoy viendo es que al tener un inline de imagenes para el contenido la validacion se hace antes de la carga de la imagen. Hay alguna forma de resolver esto ?
  #4 (permalink)  
Antiguo 31/10/2012, 12:31
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Validacion al guardar datos.

Si tengo varios inline de imágenes asociados para un modelo X en el admin, existe alguna forma de ejecutar un código para el contenido X una vez que se hayan guardado todos los inline de imágenes ?

Ya que primero se guarda el contenido X, y luego los inlines.

Y como quiero correr una validación al ultimo para ver si luego del save existe alguna imagen asociada o no al contenido X pregunto esto. Muchas gracias.

Etiquetas: admin
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 03:09.