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

迁移成功但跨电脑部署Django项目后无法启动服务器

解决Django迁移成功但启动报错AppRegistryNotReady的问题

问题核心分析

从报错栈可以看出,问题出在Django应用注册表未完成加载时,就提前导入了模型相关模块,同时自定义User模型存在字段冲突,叠加Pydev启动配置可能的异常,导致服务启动失败。


具体修复步骤

1. 修复自定义User模型的字段冲突

你的User类继承了AbstractUser,但AbstractUser已经自带groups字段(关联django.contrib.auth.models.Group),你自定义的Group模型和字段名与之重名,会引发内部冲突。

修改模型代码:

from django.db import models
from django.contrib.auth.models import AbstractUser

# 重命名自定义Group模型,避免与auth内置Group冲突
class CustomGroup(models.Model):
    name = models.CharField(max_length=100)
    def __str__(self):
        return self.name   
    
class User(AbstractUser):
    # 修改字段名,避免覆盖父类的groups字段
    custom_groups = models.ManyToManyField(CustomGroup)
    current_group = models.ForeignKey(CustomGroup, on_delete=models.SET_NULL, blank=True, null=True, related_name="current_group")

同时必须保留settings.py中的配置:

AUTH_USER_MODEL = 'members.User'

自定义用户模型的配置是强制要求,删除会导致Django无法识别你的用户模型。

2. 修复迁移文件的非法导入

报错显示migrations/0001_initial.py中直接导入了django.contrib.auth.models,这会在应用未加载时触发模型初始化,导致AppRegistryNotReady。

解决方式:

  • 删除members/migrations/目录下除__init__.py外的所有迁移文件
  • 重新生成迁移并执行:
    python manage.py makemigrations members
    python manage.py migrate
    

3. 修正Pydev/Eclipse的启动配置

确保是通过Django官方的runserver命令启动服务,而非直接运行模块:

  1. 右键项目 → Run As → Run Configurations
  2. 新建Python Run配置
  3. Main标签页:设置Module为django.core.management
  4. Arguments标签页:Program arguments填写runserver
  5. Environment标签页:添加环境变量DJANGO_SETTINGS_MODULE,值为你的项目settings路径(例如iou.settings)

4. 延迟导入避免提前加载模型

如果forms.py的顶部导入仍触发问题,可以将导入逻辑延迟到函数内部:

# members/forms.py
from django import forms

class UserRegisterForm(forms.Form):
    # 字段定义...
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        # 在需要使用时才导入
        from django.contrib.auth.forms import UserCreationForm, AuthenticationForm, UsernameField
        # 后续逻辑...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 06:16:01