Django执行python manage.py check提示tuple无rsplit属性如何解决
问题根因
报错是unesco/apps.py中的配置语法错误导致:default_auto_field字段赋值末尾多了多余的英文逗号,Python会自动将带末尾逗号的单个值识别为元组类型,而非预期的字符串类型。
Django加载模型时需要读取default_auto_field的字符串路径,调用rsplit方法拆分模块路径和类名,传入元组自然触发'tuple' object has no attribute 'rsplit'报错。
修复步骤
- 打开
unesco/apps.py文件 - 删除
default_auto_field = 'django.db.models.BigAutoField'末尾的多余逗号,修改后完整代码如下:
from django.apps import AppConfig class UnescoConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'unesco'
- 重新执行
python manage.py check,校验即可正常通过。
内容的提问来源于stack exchange,提问作者mieltn
相关产品推荐
相关产品推荐

