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

使用django-taggit时出现add_lazy_relation导入错误求助

解决Django+taggit导入add_lazy_relation错误的方案

你的问题核心是版本不兼容:你使用的django-taggit==0.17.1是针对旧版Django(1.x系列)开发的,而Django 2.2已经移除了django.db.models.fields.related下的add_lazy_relation函数,所以运行makemigrations时会触发导入错误。

快速解决方案:升级django-taggit到兼容版本

django-taggit的1.x及以上版本完全支持Django 2.2 LTS,执行以下命令升级:

pip install --upgrade django-taggit>=1.2.0

(推荐安装1.5.0及以上版本,它兼容Django 2.2到4.x的多个版本,后续扩展性更好)

验证步骤

  1. 升级完成后,重新运行迁移命令:
python manage.py makemigrations
python manage.py migrate
  1. 你的现有代码不需要任何修改:
from taggit.managers import TaggableManager
class Post(models.Model):
    tags = TaggableManager()

这段代码在兼容版本的taggit中是完全有效的。

不推荐的备选方案(不建议使用)

如果出于特殊原因不能升级taggit,你只能降级Django到1.x系列(比如Django 1.11 LTS),但这会带来安全和功能上的隐患——Django 1.x已经停止维护,不推荐在生产环境使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:09:13