如何让Django评论模型的Site字段变为非必填

3 投票
2 回答
716 浏览
提问于 2025-04-16 13:17

我正在使用来自github上ericflo的django-threadedcomments这个库。这个应用程序只是对django自带的评论系统进行了扩展。我在这两个框架中都遇到了同样的问题。每次我都收到一个关于mysql的错误,提示site_id不能为null。我在评论中并不需要使用Site这个字段。我尝试过扩展Comment模型,自己设置site字段为空和null,但仍然出现同样的错误。请问有什么正确的方法可以覆盖这个要求吗?谢谢。

我尝试过:

class Comment(Comment):
    site=models.ForeignKey(Site,null=True,blank=True)

2 个回答

1

你不能直接改变这个东西,除非对当前的模型进行一些特殊的修改。不过在保存评论的时候,在视图或者表单里把 site 字段设置为 Site.objects.get_current() 应该没什么大问题!

2

我发现只定义一个站点对象更简单。django-threadedcomments 不是唯一需要这样做的扩展。

撰写回答