Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Problema con id autogenerado en Django

Estas en el tema de Problema con id autogenerado en Django en el foro de Python en Foros del Web. Hola como estan? Estoy aprendiendo Django y tengo un lio con los ids autogenerados. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Python: Ver original class Cotizacion ( models. Model ...
  #1 (permalink)  
Antiguo 25/01/2017, 14:36
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 10 años, 3 meses
Puntos: 0
Problema con id autogenerado en Django

Hola como estan?

Estoy aprendiendo Django y tengo un lio con los ids autogenerados.



Código Python:
Ver original
  1. class Cotizacion(models.Model):
  2.  
  3.    descripcion = models.charField()
  4.    producto = models.foreignKey(Producto)

Si desde el admin de django genero registros lo hace bien, pero si lo hago desde comandos asi me da un error_

Código Python:
Ver original
  1. cot = Cotizacion('blablabla', 1234)
  2. cot.save()

Eso deberia guardarme un registro de cotizacion para el producto 1234 pero me da un error de que le falta el id_producto

Si en lugar de hacer eso le agrego al inicio un entero como id entonces lo toma bien

ejemplo:
Código Python:
Ver original
  1. cot = Cotizacion(3, 'blablabla', 1234)
  2. cot.save()


El tema es que nos e que estoy haciendo mal, deberia poder generar los registros con esos 2 parametros unicamente
  #2 (permalink)  
Antiguo 07/02/2017, 11:56
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Problema con id autogenerado en Django

La solucion es que el primer parametro que seria la ID debe ir en el constructor como "None"

Código Python:
Ver original
  1. cot = Cotizacion(None, 3, 'blablabla', 1234)
  2. cot.save()

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 03:27.