Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Python
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-03-2012
Gregoqm Gregoqm is offline
Registrado
 
Registrado: Feb 2012
Posts: 6
Poder: 0
Gregoqm Va por buen camino
problemas al modificar datos

Hola de nuevo, ahi va mi problemilla tengo un usuario q tiene varios viajes que ha creado el, y cada viaje creado tiene le opcion de modificar los datos introducidos,
esto lo hago con la vista modificarviaje, lo que pasa es q cuando le doy a la opcion de modificar del viaje me sale el formulario pero con los datos de otro viaje, y da igual
al viaje que le de, que el formulario me sale relleno con los mismos datos siempre, es q no se q poner en el for o hacerlo sin for. Muchas gracias. Un saludo.

Código:
def modificarviaje(request, pID='0'):
	
	f=ViajeForm()
	message=''
	p = get_object_or_404(RegistroUsuario, pk=pID)
	viajes=Viaje.objects.filter(usuarioViaje=p)
	for v in viajes:
	  
            #¿?¿?¿?¿???¿¿?¿?¿?¿?¿

	  if request.method == 'GET':
	        f = ViajeForm(instance=v)
	        message = 'Ahora puedes modificar tu viaje %s ' % p.username
          if request.method == 'POST':
	        if request.POST['submit'] == 'Actualizar':
	            message = 'Tu viaje se ha actualizado %s.' % p.username
	            f = ViajeForm(request.POST.copy(), instance=v)	
                    if f.is_valid():
	                try:
	                    f.save()
	                    message += '  OK'
			    return HttpResponseRedirect('/crearviaje/%d/' % p.id)
                        except:
 	                   message = 'Error al actualizar'
                    else:
	                message += ' Invalido'
        
	return render_to_response('modificar_viaje.html',{'p':p,'cForm':f,'message': message,'v':v})




models.py




class RegistroUsuario(User):
    
    comentario=models.TextField(blank=True)
    imagen=models.ImageField(upload_to='usuarios/',blank=True)
    coche=models.CharField(max_length=2,choices=SINO_CHOICES)
    animales=models.CharField(max_length=2,choices=SINO_CHOICES)
    fumador=models.CharField(max_length=2,choices=SINO_CHOICES)
    musica=models.CharField(max_length=2,choices=SINO_CHOICES)
    conversacion=models.CharField(max_length=2,choices=SINO_CHOICES)

  
class Viaje(models.Model):
    usuarioViaje=models.ForeignKey(RegistroUsuario, related_name='+')
    origen=models.CharField(max_length=50)
    destino=models.CharField(max_length=50)
    fechaPublicacion=models.DateField(auto_now_add=True)
    fechaViaje=models.DateTimeField()
    comentarios=models.TextField()
    ofedem=models.CharField(max_length=3,choices=OFDEM_CHOICES)
    idavue=models.CharField(max_length=3,choices=IDAVUE_CHOICES)
    plazasLibres=models.BooleanField()
    precio=models.PositiveSmallIntegerField()
    equipaje=models.CharField(max_length=3,choices=EQUIPAJE_CHOICES)
Responder Con Cita
  #2  
Antiguo 02-03-2012
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: Jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 655
Poder: 13
TiammatMX Va camino a la fama
Cita:
Empezado por Gregoqm Ver Mensaje
Hola de nuevo, ahi va mi problemilla tengo un usuario q tiene varios viajes que ha creado el, y cada viaje creado tiene le opcion de modificar los datos introducidos,
esto lo hago con la vista modificarviaje, lo que pasa es q cuando le doy a la opcion de modificar del viaje me sale el formulario pero con los datos de otro viaje, y da igual
al viaje que le de, que el formulario me sale relleno con los mismos datos siempre, es q no se q poner en el for o hacerlo sin for. Muchas gracias. Un saludo.
...
Pues verás, no sé mucho de Python, pero lo que te puedo sugerir es algo que yo tengo bien controlado en Delphi. El proceso es así:
  • Creo la forma que voy a mostrar al usuario.
  • Si se trata de una inserción, dejo los datos en blanco para que el usuario haga con ellos lo que quiera.
  • Si se trata de una actualización (o modificación o cambio o como quieras llamarla) lleno CADA UNO DE LOS COMPONENTES DE DATOS con los datos actuales del registro donde fue llamada la funcionalidad.
  • Al regresar de la pantalla, antes de destruirla, guardo inmediatamente los datos.
Espero que te de una idea respecto a cómo poder solucionar tu problema.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Modificar datos de mi bese de datos desde un dbgrid? juliana_r Conexión con bases de datos 6 09-06-2010 01:14:22
Modificar los datos de un ADOStoredProc Chogo Firebird e Interbase 1 13-03-2010 04:57:08
modificar datos con ibx lina maria Conexión con bases de datos 3 01-10-2008 16:34:54
modificar Datos de un DBGrid dmagui Firebird e Interbase 2 22-08-2005 15:38:56
Problemas al modificar consulta. alfredosg19 Conexión con bases de datos 2 03-08-2005 12:32:50


La franja horaria es GMT +2. Ahora son las 21:20:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi