python - template - html base django
"Error desconocido de la columna ''user_id'' en la vista django (3)
El campo
user_id
es la referencia FK deIdea
toUser
. 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
id
de manera predeterminada. Puedes llamarloid
en tus consultas. También puedes usar el sinónimo depk
.Si define su propio campo de clave principal, no obtiene el campo de
id
automática. Pero aún puede usarpk
para 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