liangliangyy / DjangoBlog

🍺基于Django的博客系统
https://www.lylinux.net/
MIT License
6.55k stars 2.69k forks source link

comments.admin中管理后台评论管理模型中点击文章显示已被删除或不存在问题 #736

Open JOYCAT-Q opened 2 months ago

JOYCAT-Q commented 2 months ago

我确定我已经查看了 (标注[ ][x])


我要申请 (标注[ ][x])

失效原因: 我们将print(link)打开,可以在终端看到如下: 屏幕截图 2024-07-19 204757

此处我们需要的是文章的相关详细,而并非用户信息 解决方法:在def link_to_article(self, obj):中修改info信息的获取

class CommentAdmin(admin.ModelAdmin):
    ...省略...
    # 其余不变
    def link_to_article(self, obj):
        # 修改info,从文章模型中获取信息
        info = (obj.article._meta.app_label, obj.article._meta.model_name)
        link = reverse('admin:%s_%s_change' % info, args=(obj.article.id,))
        # print(link)
        return format_html(
            u'<a href="%s">%s</a>' % (link, obj.article.title))

即可解决问题,解决后输出如下: 屏幕截图 2024-07-19 205006 点击后即可正常跳转: 屏幕截图 2024-07-19 205035

当前大体环境配置: Django==4.2.14 Windows10 MySQL==8.0