设置 wagtail 开发环境时出现导入错误:“无法从 'wagtail.search.models' 导入名称 'Query'”

问题描述 投票:0回答:1

我目前正在开发 Wagtail 的一个分支(版本 6.0a0),并尝试建立一个开发环境来为该项目做出贡献。我已按照标准步骤设置项目,但在为基于 Wagtail 的网站运行迁移时遇到了 ImportError。

我采取的步骤:

  • 在本地克隆了分叉存储库。
  • 为我的工作激活了Python虚拟环境。
  • 使用“pip install -e .[testing,docs] -U”安装克隆项目。
  • 针对 JavaScript 依赖项执行“npm ci”和“npm run build”。
  • 在单独的目录中创建了一个新的 Wagtail 网站。
  • 运行“python manage.py migrate”,并遇到了 ImportError。

错误信息:
回溯(最近一次调用最后一次):
文件“path/to/manage.py”,第 10 行,在
中 ...
从 wagtail.search.models 导入查询
ImportError:无法从“wagtail.search.models”导入名称“Query”

附加信息:

  • Wagtail 的发布版本(版本 5.2a0)使用“pip install wagtail”成功安装,没有任何问题。
  • 我的需求文件指定 Django 版本 4.2,但我的 Python 虚拟环境中安装了 Django 版本 4.0.10。(该版本是与克隆的 wagtail 项目一起安装的)
  • Wagtail 生成的网站中的requirements.txt 文件指定以下内容:Django>=4.2,<4.3 // wagtail==5.2a0

我一开始以为这可能是依赖版本问题,因为发布的版本与 Django 4.2 版本配合得很好,所以我将 Django 更新到 4.2,但问题仍然存在。

我的问题:

  • 在使用我的 Wagtail 分支(版本 6.0a0)时可能导致此导入错误的原因是什么,而在使用发布版本(5.2a0)时却不会出现此错误?
  • 如何设置开发环境以对 wagtail 做出贡献(我尝试按照所示文档进行操作,但无法正确设置)
django wagtail
1个回答
0
投票

有关于搜索的弃用警告:

RemovedInWagtail60Warning:wagtailsearch.Query 模型已 移至 wagtail.contrib.search_promotions。请更新您的代码 改为使用该应用程序中的查询模型。

并在 5.0 发行说明中注意: https://docs.wagtail.org/en/stable/releases/5.0.html#wagtailsearch-query-migration

将导入路径修改为

from wagtail.contrib.search_promotion.models import Query

更改为该模型后会生成迁移文件。

© www.soinside.com 2019 - 2024. All rights reserved.