我使用Django内置的评论框架已经有一段时间了,它运行得非常好。由于我们在测试它之后正处于开发阶段,所以我们没有尝试它。
但昨天我发了一条评论,只是为了好玩,我犯了这个错误。
IntegrityError at /comments/post/
(1048, "Column 'content_type_id' cannot be null")。
我不明白是什么导致了这个错误,我们一直在开发的其他东西,并没有以任何方式干扰评论应用程序。
我知道我只提供了很少的信息,但是任何帮助都将是非常感谢的。
发布于 2012-01-31 21:56:02
根据您提供的信息不确定您为什么会收到该错误,但是通常,comments包使用来自contenttypes包的通用外键将注释链接到它“属于”的任何内容。您所得到的错误是因为(无论出于什么原因)在保存注释时,注释“属于”的内容都是未定义的。
提交注释的默认表单实际上包括它应该“属于”的上下文对象,并在提交注释时将该数据与POST一起传递。通常,您将使用{% render_comment_form %}模板标记显示此表单并传入所有者:
{% render_comment_form for [owner] %}其中,[owner]将是注释所属的对象。
或者您可以使用{% get_comment_form %}标记来自定义表单:
{% get_comment_form for [owner] as form %}如果您使用了一种完全自定义的方法来包含表单,那么您应该检查以确保您传递的是默认情况下这两个标记中的任何一个包含的所有隐藏值。
此外,如果您正在自定义表单,那么使用{% comment_form_target %}设置表单的操作非常重要。
希望这足以帮助您进一步解决问题。
https://stackoverflow.com/questions/9087030
复制相似问题