haystack安装后导致Django版本强制升级为3.2引发的不兼容性问题

1 背景

在pip install django-haystack时
在这里插入图片描述
Django原本是1.11.11, 安装这个包之后会自动升级为3.2版本, 它这个包需要的Django版本必须要高于2.2
在这里插入图片描述
报错信息是:

'Specifying a namespace in include() without providing an app_name ’
django.core.exceptions.ImproperlyConfigured: Specifying a namespace in
include() without providing an app_name is not supported. Set the
app_name attribute in the included module, or pass a 2-tuple
containing the list of patterns and app_name instead.

2 解决问题

不难分析, 这个应该是Django由1.X升级到3.X带来的新问题
Django3.X要改为下面这种写法
在这里插入图片描述
但现在又出了一堆警告, 大致意思就是现在需要自动创建主键应该要声明
于是我们来到配置文件(默认是settings.py), 在后面添加一句

DEFAULT_AUTO_FIELD = ‘django.db.models.AutoField’

在这里插入图片描述
现在就又可以正常使用啦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值