Django执行makemigrations遇admin命名空间重复警告问题求助
Django迁移时URL namespace 'admin'重复警告的解决办法
问题场景
执行python manage.py makemigrations时收到以下警告:
(venv) PS C:\django-sites\testsite> python manage.py makemigrations 系统检测到一些问题: 警告: ?: (urls.W005) URL namespace 'admin' isn't unique. You may not be able to reverse all URLs in this namespace 未检测到变更 (venv) PS C:\django-sites\testsite>
已删除项目根urls.py中所有path('admin/', admin.site.urls)代码行,模型代码无错误:
from django.db import models class News(models.Model): title = models.CharField(max_length=150) content = models.TextField(blank=True) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) photo = models.ImageField(upload_to='photos/%Y/%m/%d/') is_published = models.BooleanField(default=True)
解决步骤
- 排查子应用urls.py:项目中如果有多个子应用,检查每个子应用的urls.py文件,是否存在
path('admin/', admin.site.urls)的重复配置,找到后删除。 - 检查include的URL模块:确认根urls.py中通过
include()引入的其他URL配置,是否有第三方库或自定义模块重复注册了admin命名空间。 - 清理Django缓存:执行
python manage.py clearcache清理URL配置缓存,再重新运行迁移命令。 - 检查第三方应用:查看
settings.py的INSTALLED_APPS列表,部分第三方应用会自动添加admin相关的URL配置,查阅对应库的文档,确认是否可以禁用该自动注册功能。
内容的提问来源于stack exchange,提问作者9RoxXx
相关产品推荐
相关产品推荐

