You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

wagtail-localize与django-comments-xtd冲突,创建Locale时报错

问题描述

按照wagtail-localize教程配置第二个Locale时,点击保存出现如下错误:

DoesNotExist at /admin/locales/new/
XtdComment matching query does not exist.
Request Method: POST
Request URL:    http://127.0.0.1:8000/admin/locales/new/
Django Version: 4.2.2
Exception Type: DoesNotExist
Exception Value:    
XtdComment matching query does not exist.

不基于默认Locale同步时可成功创建新Locale,但编辑该Locale启用同步时仍会触发相同错误。

使用的包版本:

Django>=4.2,<4.3
wagtail>=5.0.2,<5.1
django-comments-xtd==2.9.10
wagtail-localize==1.5.1

需求:彻底阻止django-comments-xtd介入Locale创建/编辑的同步流程。

解决方案
  • 排除Locale模型的评论信号
    django-comments-xtd通常通过信号绑定到模型,找到项目中注册信号的代码,将wagtail_localize.models.Locale排除在外。若使用默认信号注册,可在项目apps.py的ready方法中,解除Locale模型与评论信号的绑定,或直接阻止信号对该模型生效。

  • 添加模型排除配置
    在settings.py中配置COMMENTS_XTD_EXCLUDE_MODEL,将Locale模型加入排除列表:

    COMMENTS_XTD_EXCLUDE_MODEL = [
        'wagtail_localize.Locale',
    ]
    

    该配置会让django-comments-xtd忽略指定模型的评论处理逻辑。

  • 手动控制信号注册
    若上述方法无效,可禁用django-comments-xtd的全局默认信号,在项目apps.py中手动为需要评论功能的模型绑定信号,完全跳过Locale模型。

  • 临时卸载排查
    临时注释INSTALLED_APPS中的django_comments_xtd,完成Locale配置后再重新启用,确认是否为该包引发的冲突,并进一步排查问题点。

内容的提问来源于stack exchange,提问作者autosnake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 22:03:16