首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IntegrityError / comments /post/ in django评论

IntegrityError / comments /post/ in django评论
EN

Stack Overflow用户
提问于 2012-01-31 21:12:47
回答 1查看 332关注 0票数 0

我使用Django内置的评论框架已经有一段时间了,它运行得非常好。由于我们在测试它之后正处于开发阶段,所以我们没有尝试它。

但昨天我发了一条评论,只是为了好玩,我犯了这个错误。

代码语言:javascript
复制
IntegrityError at /comments/post/
(1048, "Column 'content_type_id' cannot be null")

  1. --这并不是特定于任何特定模型,而是发生在发布评论的任何模型上。
  2. 当评论以匿名用户
  3. 的身份发布时,此错误不会出现,评论将被发布为

我不明白是什么导致了这个错误,我们一直在开发的其他东西,并没有以任何方式干扰评论应用程序。

我知道我只提供了很少的信息,但是任何帮助都将是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2012-01-31 21:56:02

根据您提供的信息不确定您为什么会收到该错误,但是通常,comments包使用来自contenttypes包的通用外键将注释链接到它“属于”的任何内容。您所得到的错误是因为(无论出于什么原因)在保存注释时,注释“属于”的内容都是未定义的。

提交注释的默认表单实际上包括它应该“属于”的上下文对象,并在提交注释时将该数据与POST一起传递。通常,您将使用{% render_comment_form %}模板标记显示此表单并传入所有者:

代码语言:javascript
复制
{% render_comment_form for [owner] %}

其中,[owner]将是注释所属的对象。

或者您可以使用{% get_comment_form %}标记来自定义表单:

代码语言:javascript
复制
{% get_comment_form for [owner] as form %}

如果您使用了一种完全自定义的方法来包含表单,那么您应该检查以确保您传递的是默认情况下这两个标记中的任何一个包含的所有隐藏值。

此外,如果您正在自定义表单,那么使用{% comment_form_target %}设置表单的操作非常重要。

希望这足以帮助您进一步解决问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9087030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档