0

私は Django 組み込みのコメント フレームワークをしばらく使用してきましたが、まったく問題なく動作していました。テスト後、最初は開発段階にあるため、試していません。

しかし、昨日、楽しみのためにコメントを投稿したところ、このエラーが発生しました

IntegrityError at /comments/post/
(1048, "Column 'content_type_id' cannot be null")
  1. これは特定のモデルに固有のものではありませんが、コメントが投稿されたモデルに関係なく発生します。
  2. コメントが匿名ユーザーとして投稿された場​​合、このエラーは発生しません
  3. コメント投稿中です

何がこのエラーを引き起こしたのか、私たちが開発してきた他のことは、コメントアプリにまったく干渉していません。

情報がほとんどないことは承知していますが、どんな種類の助けも本当に感謝しています。

4

1 に答える 1

1

あなたが提供した情報に基づいて、なぜそのエラーが発生するのかはわかりませんが、通常、commentsパッケージはパッケージの汎用外部キーを使用してcontenttypes、コメントを「所属」するものにリンクします。あなたが得ているエラーは、(何らかの理由で)コメントを保存するときにコメントが「属する」ものが定義されていないためです。

コメントを送信するためのデフォルトのフォームには、実際には「属する」必要があるコンテキスト オブジェクトが含まれており、コメントが送信されるときに POST と共にこのデータが渡されます。通常、{% render_comment_form %}テンプレート タグを使用してこのフォームを表示し、所有者を渡します。

{% render_comment_form for [owner] %}

コメント[owner]が属するオブジェクト。

または、{% get_comment_form %}タグを使用してフォームをカスタマイズできるようにすることもできます。

{% get_comment_form for [owner] as form %}

フォームを含める完全に独自の方法を使用した場合は、これら 2 つのタグのいずれかにデフォルトで含まれるすべての非表示の値を渡していることを確認する必要があります。

さらに、フォームをカスタマイズする場合は、フォームのアクションを{% comment_form_target %}.

問題のさらなるトラブルシューティングに役立つことを願っています。

于 2012-01-31T21:56:02.330 に答える