Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2012, 12:17
Gregoqm
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 8 meses
Puntos: 0
poner un campo con valor fijo en un formulario al rellenarlo.

Hola a todos¡¡¡tengo los siguientes modelos en mi aplicacion:

models.py:

Código Python:
Ver original
  1. class RegistroUsuario(User):
  2.  
  3.    comentario=models.TextField(blank=True)
  4.    imagen=models.ImageField(upload_to='usuarios/',blank=True)
  5.    coche=models.CharField(max_length=2,choices=SINO_CHOICES)
  6.    animales=models.CharField(max_length=2,choices=SINO_CHOICES)
  7.    fumador=models.CharField(max_length=2,choices=SINO_CHOICES)
  8.    musica=models.CharField(max_length=2,choices=SINO_CHOICES)
  9.    conversacion=models.CharField(max_length=2,choices=SINO_CHOICES)
  10.  
  11. class Viaje(models.Model):
  12.    usuarioViaje=models.ForeignKey(RegistroUsuario, related_name='+')
  13.    origen=models.CharField(max_length=50)
  14.    destino=models.CharField(max_length=50)
  15.    fechaPublicacion=models.DateField(auto_now_add=True)
  16.    fechaViaje=models.DateTimeField()
  17.    comentarios=models.TextField()
  18.    ofedem=models.CharField(max_length=3,choices=OFDEM_CHOICES)
  19.    idavue=models.CharField(max_length=3,choices=IDAVUE_CHOICES)
  20.    plazasLibres=models.BooleanField()
  21.    precio=models.PositiveSmallIntegerField()
  22.    equipaje=models.CharField(max_length=3,choices=EQUIPAJE_CHOICES)

Y una vez que hago loggin en mi aplicación con un usuario quiero que
el campo usuarioViaje del modelo Viaje al rellenar el formulario sea
el mismo que el correspondiente a RegistroUsuario. Este es mi
formulario:

Código Python:
Ver original
  1. @login_required
  2. def creaViajeForm(request, pID='0'):
  3.    bf = ViajeForm()
  4.    message = ''
  5.    p = get_object_or_404(RegistroUsuario, pk=pID)
  6.    if request.method == 'GET':
  7.        message = 'Completa el formulario y crearas un nuevo viaje %s
  8. ' % p.username
  9.    if request.method == 'POST':
  10.        if request.POST['submit'] == 'Crear':
  11.            bf = ViajeForm(request.POST.copy())
  12.  
  13.            if bf.is_valid():
  14.                try:
  15.                    bf.save()
  16.                    message = 'Nuevo viaje de %s' % p.username
  17.                    return HttpResponseRedirect('/paginausuario/%d/' % p.id)
  18.                except:
  19.                    message = 'Error en la base de datos'
  20.            else:
  21.                message = 'Datos invalidos'
  22.    return render_to_response(
  23.        'crear_viaje.html',
  24.         {'p':p,'bForm':bf, 'message': message})


Lo que pasa a este formulario es q cuando lo voy a rellenar en el
campo usuarioViaje me sale un desplegable con todos los usuarios y lo
q yo quiero es que salga directamente el usuario correspondiente y que
no de la opción de elegir otro. Muchas gracias. Un saludo. : )

Última edición por razpeitia; 28/02/2012 a las 12:43 Razón: resaltado de sintaxis