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

Wagtail项目中Django迁移执行后仍提示未应用问题

问题解决方案

一、搞定"core应用有1个未应用迁移"的问题

  • 先确认迁移状态:执行 python manage.py showmigrations core,查看0019_whofundsyoupage_stream是否带有[X]标记。如果没有标记,直接指定应用该迁移:python manage.py migrate core 0019_whofundsyoupage_stream
  • 检查迁移依赖:打开0019_whofundsyoupage_stream.py,查看dependencies列表是否指向core应用的上一个迁移(比如以0018_开头的文件),若依赖错误,修正后重新执行migrate
  • 清理迁移缓存:删除项目根目录和core/migrations目录下的__pycache__文件夹,再重新执行migrate
  • 核查数据库记录:打开数据库的django_migrations表,确认core应用的0019迁移是否已被记录。如果已有记录但系统仍提示未应用,先备份数据库,删除该条记录后重新执行migrate

二、解决URL命名空间不唯一警告

  • 检查项目的urls.py和各应用的urls.py,确保每个应用的app_name设置唯一;如果应用urls.py中已定义app_name = 'core',项目urls.py在include时就不要重复指定namespace='core'
  • 全局搜索app_name,将重复的命名空间修改为唯一值

三、处理Wagtail WidgetWithScript钩子弃用警告

  • Wagtail的register_widget_with_script钩子已被弃用,替换为register_form_widget。比如原代码:
    from wagtail.core.widgets import WidgetWithScript
    from wagtail.core import hooks
    
    @hooks.register('register_widget_with_script')
    def register_my_widget():
        return MyCustomWidget
    
    修改为:
    from wagtail.core import hooks
    
    @hooks.register('register_form_widget')
    def register_my_widget():
        return MyCustomWidget
    
  • 若你自定义了继承WidgetWithScript的组件,查看对应Wagtail版本的官方文档,替换为BaseWidget或新的组件写法,自行处理脚本加载逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 23:32:02