ModuleNotFoundError: No module named ‘django.core.urlresolvers‘

这篇博客讨论了在Django不同版本间遇到的模块导入错误,如'urlresolvers'的替换,'python_2_unicode_compatible'和'six'的导入问题,以及Django3以后外键'on_delete'的必要性。解决方案包括更新导入语句和安装six库,并提供了外键'on_delete'的几种策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

django中版本不一样发生的错误
错误:ModuleNotFoundError: No module named 'django.core.urlresolvers'
原代码:from django.core.urlresolvers import NoReverseMatch
更改:from django.urls import NoReverseMatch

错误:ModuleNotFoundError: No module named 'django.core.urlresolvers'
原代码:from django.core.urlresolvers import reverse
更改:from django.urls import reverse

错误:ImportError: cannot import name 'python_2_unicode_compatible' from 'django.utils.encoding'
原代码:from django.utils.encoding import python_2_unicode_compatible
更改:from six import python_2_unicode_compatible
ps:six需要安装(pip install six)

错误:ImportError: cannot import name 'six' from 'django.utils'
原代码:from django.utils import six
改为:import six
ps:six需要安装(pip install six)

错误:TypeError: __init__() missing 1 required positional argument: 'on_delete'
错误原因:django3版本后外键都需要加on_delete
新增字段:on_delete=models.DO_NOTHING(删除关联数据,不做任何事)
其他值:

None				# 删除关联表中的数据时,当前表与其关联的field的行为
momdels.CASSADE		# 删除关联数据,与之相关也删除
models.DO_NOTHING	# 删除关联数据,不做任何事
models.SET_NULL		# 删除关联数据,与之相关值设置为null(需要设置blank,null为True)
models.set_DEFAULT	# 删除相关数据,与之相关值设置为默认(需要设置默认值)
models.SET			# 删除关联数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值