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

使用django-advanced-filters报错:'tuple'对象无split_contents属性

AttributeError: 'tuple' object has no attribute 'split_contents' 解决办法

报错原因

这个错误源于django-advanced-filters 2.0.0与Django 3.2存在兼容性冲突。该版本的advanced-filters内部在处理模板渲染或表单组件逻辑时,错误地将元组对象传递给了需要Django模板Node实例的方法,而split_contents()是Django模板Node类的专属方法,元组类型无法调用该方法,因此触发报错。

解决步骤

1. 升级django-advanced-filters到兼容版本

django-advanced-filters 2.1.0及后续版本已修复了与Django 3.2的兼容问题,执行以下命令完成升级:

pip uninstall django-advanced-filters
pip install django-advanced-filters==2.1.0

2. 重新执行迁移

升级完成后,重新运行迁移命令:

python manage.py migrate

3. 额外排查(可选)

如果升级后仍出现报错,检查你的Admin类配置是否存在以下问题:

  • 是否错误地将list_filter或advanced-filters相关配置定义为元组而非列表(Django Admin通常要求这类配置为列表类型)
  • 是否自定义了advanced-filters的模板标签或扩展类,导致代码逻辑错误生成了元组对象

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 17:25:21