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

Django 3.2.6执行makemigrations报错求助

问题解决步骤

针对ModuleNotFoundError: No module named 'django.db.migrations.migration'

  • 激活项目对应的虚拟环境,执行强制重装Django:
    pip install --force-reinstall django==3.2.6
    
  • 删除项目根目录及所有app目录下的__pycache__文件夹,清除Python缓存文件
  • 检查是否误在项目根目录创建了migrations文件夹,如有直接删除

针对django.db.utils.ProgrammingError: (1146, "Table 'dohaerp_db.ciudades' doesn't exist")

第一步:修正模型错误

你的ciudades模型里__str__方法返回了不存在的self.name字段,这会导致模型加载异常,先修正:

class ciudades(models.Model):
    ciudad_nombre = models.CharField(max_length=50)
    estado = models.CharField(max_length=50)

    def __str__(self):
        return self.ciudad_nombre  # 替换原来的self.name

    class Meta:
        db_table = 'ciudades'
        verbose_name ='Ciudad'
        verbose_name_plural = 'Ciudades'

第二步:重置迁移并重新初始化数据库

  1. 关闭所有正在运行的Django服务
  2. 找到ciudades模型所在的app,进入其migrations文件夹,删除除__init__.py外的所有文件;若涉及多个app,对每个app都执行此操作
  3. 确认settings.py中INSTALLED_APPS已包含该app
  4. 执行以下命令重新生成迁移并同步数据库:
    python manage.py makemigrations
    python manage.py migrate
    
    若全新数据库仍有问题,可尝试:
    python manage.py migrate --fake-initial
    

额外检查

  • 确认settings.py中的数据库配置指向正确的新数据库
  • 执行python manage.py check,确保模型无其他语法或逻辑错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 23:25:16