[pyar] Duda con modelos en Django
Juan Manuel
jmdedio en gmail.com
Mie Jul 12 17:50:41 ART 2017
Hoa a todos:
Estoy desarrollando mi primera aplicación de escrapeo con backend en Django
(es mi primera vez con Django) y tengo un problema con la claves foraneas.
Los modelos son:
class Tareas(models.Model):
cliente = models.ForeignKey(Clientes, on_delete=models.CASCADE,
verbose_name=(u'Id Clentes'))
sitio = models.ForeignKey(Sitios, on_delete=models.CASCADE,
verbose_name=(u'Id Sitios'))
clave = models.ForeignKey(Claves, on_delete=models.CASCADE,
verbose_name=(u'Id Claves'))
frecrastreo = models.ForeignKey(FrecuenciaRastreos,
on_delete=models.CASCADE, verbose_name=(u'Id FrecuenciaRastreos'))
descripcion = models.CharField(max_length=200,
verbose_name=(u'descripción'))
falta = models.DateTimeField(verbose_name=(u'fecha de alta'))
fbaja = models.DateTimeField(blank=True, null=True,
verbose_name=(u'fecha de baja'))
def __str__(self):
return self.descripcion
class Meta:
verbose_name=(u'Tarea')
verbose_name_plural=(u'Tareas')
class Rastreos(models.Model):
fechahora = models.DateTimeField(verbose_name=(u'Fecha hora'))
tarea = models.ForeignKey(Tareas, on_delete=models.CASCADE,
verbose_name=(u'Id Tareas'))
def __str__(self):
return self.fechahora
class Meta:
verbose_name=(u'Rastreo')
verbose_name_plural=(u'Rastreos')
Es decir, para cada tarea habrá varios rastreos. Tengo entonces; una
función que carga los escrapeos pero cuando intento agregar un registro
def rastrea(datos):
insert_rastreos(strftime("%Y-%m-%d %H:%M:%S"), datos('id'))
def insert_rastreos(ahora, id_tarea):
rastreo = Rastreos(fechahora=ahora, tarea=id_tarea)
rastreo.save()
Sale el siguiente error: ValueError: Cannot assign "<QuerySet [{'id':
1}]>": "Rastreos.tarea" must be a "Tareas" instance.
¿Qué estoy haciendo mal?
Saludos
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20170712/06f04744/attachment-0001.html>
Más información sobre la lista de distribución pyar