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

Django应用置于apps目录下执行makemigrations报错的解决咨询

解决Django应用放在apps目录下的迁移问题

步骤1:修复文件命名错误

检查apps/sync_wits_meta目录下的初始化文件,将__init.py重命名为__init__.py(前后各两个下划线),否则Python无法识别该目录为合法模块。

步骤2:将apps目录添加到Python路径

在项目根配置文件sync_service/settings.py的开头添加以下代码,让Python能识别apps目录作为模块搜索路径:

import os
import sys

# 将apps目录加入Python模块搜索路径
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

步骤3:确认AppConfig配置正确性

打开apps/sync_wits_meta/apps.py,确保name字段与INSTALLED_APPS中的配置一致:

from django.apps import AppConfig

class SyncWitsMetaConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'apps.sync_wits_meta'  # 需与INSTALLED_APPS中的条目完全匹配

步骤4:正确执行迁移命令

完成上述配置后,执行迁移命令:

  • 生成所有app的迁移文件:
    python manage.py makemigrations
    
  • 仅生成sync_wits_meta的迁移文件:
    python manage.py makemigrations sync_wits_meta
    

    注意:这里使用的是app名称sync_wits_meta,而非目录路径apps/sync_wits_meta

补充说明

如果后续需要简化INSTALLED_APPS的写法,在将apps加入Python路径后,也可以将INSTALLED_APPS中的条目改为'sync_wits_meta',同时将apps.py中的name字段改为'sync_wits_meta',两种配置方式均有效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 01:37:49