python - template - html base django
"Error desconocido de la columna ''user_id'' en la vista django (3)
El campo
user_ides la referencia FK deIdeatoUser. Parece que ha cambiado su modelo y no ha actualizado su base de datos, entonces tendrá este tipo de problema.Suelta la tabla anterior, vuelve a ejecutar syncdb.
Sus tablas modelo obtienen un campo de
idde manera predeterminada. Puedes llamarloiden tus consultas. También puedes usar el sinónimo depk.Si define su propio campo de clave principal, no obtiene el campo de
idautomática. Pero aún puede usarpkpara referirse a la clave principal.
Tengo un error en el que no estoy seguro de qué lo causó.
Aquí está el error:
Exception Type: OperationalError
Exception Value:
(1054, "Unknown column ''user_id'' in ''field list''")
¿Alguien sabe por qué estoy recibiendo este error? No puedo resolverlo. Todo parece estar bien,
Mi código de vista está debajo:
if "login" in request.session:
t = request.POST.get(''title'', '''')
d = request.POST.get(''description'', '''')
fid = request.session["login"]
fuser = User.objects.get(id=fid)
i = Idea(user=fuser, title=t, description=d, num_votes=1)
i.save()
return HttpResponse("true", mimetype="text/plain")
else:
return HttpResponse("false", mimetype="text/plain")
¡Agradezco cualquier ayuda! ¡Gracias!
Editar: También una pregunta secundaria. ¿Utilizo objects.get (id = o objects.get (pk =?) Si utilizo una clave principal, ¿necesito declarar un campo de identificación o un índice en el modelo?
Editar: Aquí están los modelos relevantes:
class User (models.Model):
first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200)
email = models.CharField(max_length=200)
password = models.CharField(max_length=200)
class Idea (models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=200)
description = models.CharField(max_length=255)
num_votes = models.IntegerField()
Tendrás que mostrar tus modelos para obtener ayuda real, pero parece que tu tabla Idea no tiene una columna user_id? ¿Modificó la estructura de la tabla SQL?
Sí, dejé las mesas y todo funcionó muy bien. Sin embargo, tienes que ir a la base de datos y DROP. "manage.py flush" o "manage.py reset appname" no lo harán por sí mismos.
-Nick O