5

何が原因なのかわからないエラーが発生しています。

エラーは次のとおりです。

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()
4

3 に答える 3

6
  1. フィールドは からへのuser_idFK 参照です。モデルを変更し、データベースを更新していないように見える場合、この種の問題が発生します。IdeaUser

    古いテーブルを削除し、syncdb を再実行します。

  2. モデル テーブルは、idデフォルトでフィールドを取得します。idクエリで呼び出すことができます。の同義語を使用することもできますpk

    独自の主キー フィールドを定義すると、自動フィールドは取得されませんidpkただし、主キーを参照するために引き続き使用できます。

于 2008-11-16T01:25:48.870 に答える
4

実際のヘルプを得るにはモデルを表示する必要がありますが、Idea テーブルに user_id 列がないように見えますか? SQL テーブル構造を変更しましたか?

于 2008-11-16T01:22:46.350 に答える
0

はい、私はテーブルを落としました、そしてそれはすべてうまくいきました。ただし、実際にデータベースにアクセスしてドロップする必要があります。「manage.pyflush」または「manage.pyresetappname」は、それ自体では実行しません。

-ニックO

于 2009-12-31T03:01:31.980 に答える