Django - Error al insertar nuevos registro en una tabla con valores de campos de otra tabla

 
Vista:
sin imagen de perfil
Val: 44
Ha mantenido su posición en Django (en relación al último mes)
Gráfica de Django

Error al insertar nuevos registro en una tabla con valores de campos de otra tabla

Publicado por devilsito (46 intervenciones) el 23/10/2019 23:53:24
En la siguiente vista:

1
2
3
4
5
6
7
8
def Despliegapauta(request):
   pacientes = Pacientes.objects.filter(Q(estado=False))
   pauta = Pauta.objects.all()
   form  =  PautaForm(request.GET or None)
   for k in pacientes:
       pauta.rut = k.rut
       pauta.paciente = k.nombre
       form.save()


'PautaForm' object has no attribute 'cleaned_data'

No se que estoy haciendo mal, o que falta en mi codigo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de José Manuel
Val: 23
Ha mantenido su posición en Django (en relación al último mes)
Gráfica de Django

Error al insertar nuevos registro en una tabla con valores de campos de otra tabla

Publicado por José Manuel (9 intervenciones) el 28/10/2019 06:39:14
Hola:

El error 'cleaned_data' ocurre por acceder a la reinstanciación del formulario sin antes, utilizar is_valid(). Hay diferentes maneras pero prueba algo como esto:

form = PautaForm(request.GET or None)

1
2
3
if form.is_valid():
   for k in pacientes:
      #... resto del código

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 44
Ha mantenido su posición en Django (en relación al último mes)
Gráfica de Django

Encontré la solución

Publicado por devilsito (46 intervenciones) el 08/11/2019 03:28:14
Gracias, pero lo resolví con:

1
2
3
4
cursor = connection.cursor()
for k in paciente:
    if  not k.rut in aPauta:
        cursor.execute("insert into ai_pauta (...etc

Me da mucha mas libertad de acción, y una sintaxis mas fácil de mantener (o entender para posterior)

Te agradezco de todas maneras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar