我遇到一个错误,我不确定是什么原因造成的。
这是错误:
Exception Type: OperationalError
Exception Value:
(1054, "Unknown column 'user_id' in 'field list'")
有谁知道为什么我会收到此错误?我想不通。一切似乎都很好。
我的查看代码如下:
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")
我很感激任何帮助!谢谢!
编辑:也是一个附带问题。我是否使用objects.get(id= 或objects.get(pk= ?如果我使用主键,是否需要在模型中声明id 字段或索引?
编辑:以下是相关型号:
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()
-
The user_id
字段是 FK 参考Idea
to User
。看起来你已经改变了你的模型,并且没有更新你的数据库,那么你就会遇到这种问题。
删除旧表,重新运行syncdb。
-
你的模型表得到一个id
默认字段。你可以调用它id
在您的查询中。您还可以使用同义词pk
.
如果您定义自己的主键字段,则不会自动获得id
场地。但你仍然可以使用pk
来引用主键。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)